python - 如何处理数据框中可变的列数

标签 python pandas

在我的数据框中,有很多列,我只需要其中的几列。例如

Col_A      Col_B      Col_C      Col_D      Col_E      Col_F
...        ...        ...      ...      ...      ...      ...        

我只需要列Col_A、Col_C和Col_E,所以目前我所做的是df = df[['Col_A', 'Col_C', 'Col_E']]但这里的问题是,并不总是存在 A、C 和 E 列,也许所有这些都不会出现。所以我需要将 Col_A 位于 df.columns 中添加到 df 等。有什么简单的方法可以做到这一点吗?而不是那么多if?现在,如果缺少一列,我会收到 KeyError: "['Col_C'] not in index

最佳答案

使用Index.intersection :

df[df.columns.intersection(['Col_A','Col_A','Col_E'], sort=False)]

关于python - 如何处理数据框中可变的列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62079422/

相关文章:

python - 同步与异步

python - Pandas:解析 Excel 中的合并标题列

python - 避免数据框中的 KeyError

python - 检查 NaN 时如何选择 Pandas 数据框的特定列

python - 替换 pandas.datetime 列中的年份

python - 将列表元素映射到它们的位置 (Python)

python追加2d列表不能按预期工作,这是一个错误吗?

python - 在 python 模式下使用 gdb 调试正在运行的 python 应用程序不起作用

python - 将 Pandas 数据框转换为所需的 python 字典

python - 列字段内向量的箱线图 Pandas