如何通过指定列名获取所需的列数据?
获取Pandas DataFrame指定列数据的几种方法
看起来你已经用pandas读取了Excel数据,接下来要提取指定列的话,有几种简单直观的方式,我结合你的代码场景给你举例说明:
1. 直接使用方括号(最常用)
如果只需要单列数据,直接把列名放在方括号里就行:
# 获取单列,返回Series对象 single_column = dataRaw['你的列名']
如果需要多列,把列名放在列表里传入:
# 获取多列,返回DataFrame对象 multiple_columns = dataRaw[['列名1', '列名2', '列名3']]
2. 使用.loc方法(更清晰的显式索引)
.loc支持按行和列的标签(这里就是列名)来索引,语法是.loc[行范围, 列范围],如果要取所有行的指定列,行范围用:就行:
# 获取单列 single_column = dataRaw.loc[:, '你的列名'] # 获取多列 multiple_columns = dataRaw.loc[:, ['列名1', '列名2']]
小提示:你的代码里的小问题
顺便提一下,我看到你代码里有两处小问题:
- pandas新版本里
read_excel的参数是sheet_name,而不是sheetname,如果你的pandas版本较新,建议改成sheet_name避免报错; from sklearn.preprocessing impor...这里拼写错误了,应该是from sklearn.preprocessing import ...,后面加上你需要的预处理工具比如StandardScaler之类的。
举个具体的例子,假设你的dataRaw里有'Temperature'和'Humidity'两列,你想提取这两列,代码可以这么写:
# 读取数据(修正sheet_name参数) dataRaw = pd.read_excel(dataFileName, sheet_name=sheetName) # 提取指定列 target_columns = dataRaw[['Temperature', 'Humidity']] # 或者用loc target_columns = dataRaw.loc[:, ['Temperature', 'Humidity']]
内容的提问来源于stack exchange,提问作者Balaji
相关产品推荐
相关产品推荐

