You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过指定列名列表筛选或掩码DF中的所需列?

pandas按指定列名列表筛选列最优解法

pandas原生支持直接通过列名列表批量筛选目标列,仅需一行代码即可完成,不会产生额外的中间数据复制,效率远高于拆分后重建DataFrame的方案。

你需要把固定保留的Item列和你定义的目标日期列列表拼接后传入索引即可:

# 直接筛选得到目标DF
new_df = df[["Item"] + myList]

如果担心目标列表中存在DF中没有的列导致报错,可以加一层有效性校验,写法更鲁棒:

# 仅保留实际存在的列,避免索引报错
target_cols = ["Item"] + [col for col in myList if col in df.columns]
new_df = df[target_cols]

完整可复现示例

import pandas as pd

# 构造示例数据
myList = ["02/12/2021", "01/12/2021","30/11/2021"]
df = pd.DataFrame({
    "Item": ["x", "y", "z"],
    "02/12/2021": [10, 2, 4],
    "01/12/2021": [7, 3, 4],
    "30/11/2021": [2, 8, 3],
    "29/11/2021": [10, 1, 5],
    "28/11/2021": [9, 2, 1]
})

# 执行筛选
new_df = df[["Item"] + myList]
print(new_df)

运行后输出和期望结果完全一致:

Item  02/12/2021  01/12/2021  30/11/2021
0    x          10           7           2
1    y           2           3           8
2    z           4           4           3

内容的提问来源于stack exchange,提问作者JPWilson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:36:07