如何从Pandas DataFrame中移除非数值型列?
自动移除CSV中非数值型列的简便方法
不用手动输入列名,直接用Python的pandas库就能自动筛选出所有数值型列,步骤如下:
- 先确保安装了pandas(未安装的话执行
pip install pandas) - 运行以下代码:
import pandas as pd # 读取目标CSV文件 df = pd.read_csv('你的文件路径.csv') # 筛选仅保留整数、浮点类型的列 numeric_columns_df = df.select_dtypes(include=['int64', 'float64']) # 保存处理后的结果到新CSV numeric_columns_df.to_csv('仅含数值列的文件.csv', index=False)
补充说明:
- 若需要覆盖原文件,将保存路径改为原文件路径即可(建议先备份原文件)
- 可先执行
print(df.dtypes)查看所有列的数据类型,确认筛选逻辑 - 要是想直接排除字符串类型列,也可以用
exclude参数替代include,效果一致:numeric_columns_df = df.select_dtypes(exclude=['object'])
内容的提问来源于stack exchange,提问作者Troy Ladka
相关产品推荐
相关产品推荐

