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

如何在Pandas DataFrame中筛选名称以eta开头的列?

解决Pandas只选中eta列的问题

你遇到的问题是df.filter(like='eta')会把theta也选上,因为theta的列名里包含"eta"这个子串,like参数会匹配所有包含该字符串的列名。给你几个靠谱的解决方法:

  • 最直接的方式:直接用方括号指定列名
    如果你要得到Series类型的结果:

    df['eta']
    

    要是想得到DataFrame类型(保持二维结构):

    df[['eta']]
    
  • 用filter的正则精准匹配
    你之前试的pattern='^eta'其实在Pandas里是有效的,它只匹配以eta开头的列,theta开头是th,本来就不会被选中,可能你之前操作有误?如果要完全匹配eta列名,避免后续新增类似列名时出错,建议用首尾锚点的正则:

    df.filter(pattern='^eta$')
    
  • 用loc方法指定列
    这种写法更清晰,适合同时筛选行和列的场景:

    df.loc[:, 'eta']  # 返回Series
    df.loc[:, ['eta']]  # 返回DataFrame
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:03:20