【发布时间】:2020-10-27 13:31:42
【问题描述】:
当加载数据框表单 excel 文件时,我需要识别两个具有字符串值的特定列之间的所有列。如何按数据类型过滤或获取列的索引?
【问题讨论】:
标签: python excel pandas dataframe
当加载数据框表单 excel 文件时,我需要识别两个具有字符串值的特定列之间的所有列。如何按数据类型过滤或获取列的索引?
【问题讨论】:
标签: python excel pandas dataframe
使用DataFrame.loc 按层和结束列选择,然后按DataFrame.select_dtypes 和np.number 选择数字:
df1 = df.loc[:, 'start col':'end col'].select_dtypes(np.number)
如果需要没有numbers的列:
df2 = df.loc[:, 'A':'C'].select_dtypes(exclude=np.number)
【讨论】:
您可以将select_dtypes 与接受类型列表的include 参数一起使用。
df = pd.DataFrame({'A' : [0,1,2,3],
'B' : ['A','B','C','D'],
'C' : [0.1,0.2,0.3,0.4],
'D' : ['C','F','I','L']})
print(df)
A B C D
0 0 A 0.1 C
1 1 B 0.2 F
2 2 C 0.3 I
3 3 D 0.4 L
start = 0
end = 5
df.iloc[:,start:end].select_dtypes(include=['float64','Int64'])
A C
0 0 0.1
1 1 0.2
2 2 0.3
3 3 0.4
【讨论】: