Python中提取DataFrame指定前缀列的高效方法
高效提取指定前缀列的几种方案
当然有更高效的办法!不用手动逐个列去挑选,Pandas提供了好几种简洁且优雅的方式,帮你快速提取前缀为people_emotions的列,下面是几个常用方案:
使用
filter()函数(最简洁直观)
Pandas的filter()方法专门用于筛选列或行,用like参数可以直接匹配包含指定字符串的列名,完美适配你的前缀需求:filtered_df = df.filter(like='people_emotions')用正则表达式精确匹配前缀
如果需要更严格的匹配(避免列名中间出现目标字符串的情况),可以用regex参数配合正则的^符号(表示字符串开头):filtered_df = df.filter(regex='^people_emotions')列表推导式结合
startswith()
这种方式灵活性更高,你可以在推导式里添加额外筛选条件,比如同时满足其他规则的列:# 先筛选出符合前缀的列名 emotion_columns = [col for col in df.columns if col.startswith('people_emotions')] # 生成新的DataFrame filtered_df = df[emotion_columns]
这几种方法都比手动逐个列合并高效得多,尤其是当列数量较多时,不仅能节省时间,代码也更整洁易维护。
内容的提问来源于stack exchange,提问作者Blazej Kowalski
相关产品推荐
相关产品推荐

