python - 使用 pandas 读取 csv 文件,其中包含与列表中给定的列名匹配的任何列

标签 python pandas

我有几个大约有 15 列的 CSV 文件。我只对 5 列感兴趣。所以我将它们存储在一个列表中。

mylist=['col1','col2','col3','col4','col5']

我读取了 pandas dataframe df 中的 csv 文件。

现在,当我执行 df[mylist] 时,它会抛出错误,因为 col4 不存在于 csv 文件中。

我的问题是,即使列表中列出的某些列不在 csv 中,我如何仍然读取文件。

示例:如果 csv 文件没有 col4,那么代码应该只提取与列表中的列匹配的任何列?

最佳答案

您可以使用 intersection带有 list 的真实列名:

df = pd.read_csv('file.csv')
df1 = df[df.columns.intersection([mylist])]

关于python - 使用 pandas 读取 csv 文件,其中包含与列表中给定的列名匹配的任何列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46313710/

相关文章:

python - 迭代行并返回单元格满足阈值的列名的快速方法

python - 在 Dataframe 中的某些列上输入

python - 使用颜色列表中的 for 循环更改 Tkinter 框架颜色

python - 如何在 Google Cloud Platform 中为 Node 应用程序安装 Python3

python - 如何用时区解析时间戳?

python - 使用 pandas DataReader 获取 "Adj Close"

python - 大数据中的 EOF 内部字符串

python - 如何在 Pandas 中用交换值按两列分组?

python - (python和mysql)我如何设法获取当前日期时间和mysql表中的某个日期时间之间花费的时间?

python - 如何有效地从 pandas DataFrame 中删除 "pythonically"行 "old"?