如何提取列表中的列名用于DataFrame按名称筛选数值类型列
数值列提取实现方案
你已经拿到了目标列名的列表,不需要手动逐个输入列名,可通过以下两种方式实现需求:
方案1:直接使用已生成的列名列表
将你已经得到的mylist直接作为索引传入DataFrame即可:
num_df = df[mylist]
方案2:一步生成数值型DataFrame
如果你不需要单独保存列名列表,可以省略生成mylist的步骤,直接调用select_dtypes方法得到结果:
# 匹配所有数值类型(包含numpy自定义数值类型) num_df = df.select_dtypes(include=[np.number]) # 严格仅匹配int64和float64两种指定类型 num_df = df.select_dtypes(include=['int64', 'float64'])
补充说明
- 两种写法最终得到的结果和你手动逐个填写列名的效果完全一致
- 如果需要严格过滤掉其他数值类型(比如uint32、float32等),优先选择严格匹配int64和float64的写法
内容的提问来源于stack exchange,提问作者Ali_Bomaye
相关产品推荐
相关产品推荐

