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

如何根据列名前缀快速获取Pandas子DataFrame?

Pandas按列名前缀筛选生成子DataFrame

针对你需要保留以Q1和Q3开头的列生成子DataFrame的需求,以下是几种简便的实现方法:

方法1:使用filter()结合正则表达式

filter()方法支持通过正则表达式匹配列名,是最简洁的方式之一:

new_df = df.filter(regex='^Q1|^Q3')
  • ^Q1表示匹配以Q1开头的列名,^Q3表示匹配以Q3开头的列名
  • |作为正则中的逻辑或,同时筛选两类列

方法2:利用列名的str.startswith()方法

通过布尔索引筛选符合条件的列名:

# 先获取符合前缀要求的列名
target_cols = df.columns[df.columns.str.startswith('Q1') | df.columns.str.startswith('Q3')]
# 生成子DataFrame
new_df = df[target_cols]

方法3:列表推导式遍历列名

手动遍历列名并筛选:

target_cols = [col for col in df.columns if col.startswith('Q1') or col.startswith('Q3')]
new_df = df[target_cols]

以上三种方法都能高效生成你需要的子DataFrame,无需手动罗列所有列名,尤其适合列数较多的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:01:27