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

如何无需逐个输入列名来按名称选择多列

按名称批量选择多列的实用方法

嘿,完全懂你不想挨个敲列名,也不想依赖索引(毕竟列顺序万一变了就麻烦了)的需求!下面给你几种在Pandas里按名称批量选择多列的实用方法,覆盖不同场景:

  • 当列名有统一前缀/后缀或匹配特定规则时,用filter()方法
    这个方法特别适合列名有规律的情况,比如所有用户相关列都以user_开头,或者日期列都以_date结尾:

    # 选择所有包含"user_"的列
    df.filter(like='user_')
    
    # 用正则匹配,选择所有以"_date"结尾的列
    df.filter(regex='_date$')
    
  • 列名已提前整理成列表时,直接传入列表选择
    如果你已经有了目标列名的列表(不管是手动整理的、从配置文件读的,还是动态生成的),直接用列表索引即可:

    # 假设你已经有了目标列名列表
    target_columns = ['user_id', 'order_amount', 'purchase_date']
    df[target_columns]
    
    # 动态生成:排除不需要的列,选择剩下的所有列
    exclude_columns = ['log_id', 'timestamp']
    target_columns = [col for col in df.columns if col not in exclude_columns]
    df[target_columns]
    
  • 选择包含特定关键词的列,用列表推导式
    要是你想选所有包含某个关键词的列,比如所有和价格相关的列,用列表推导式配合in判断就很灵活:

    # 选择列名中包含"price"的所有列
    df[[col for col in df.columns if 'price' in col]]
    

如果是用其他数据处理工具(比如R的dplyr),也有类似的便捷函数,比如starts_with()、contains(),核心思路都是围绕列名的特征批量筛选,不用逐个手动输入~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:15:32