如何用Pandas内置功能查找含_result子串的DataFrame列
Pandas查找含指定子串且带_result后缀的列
直接用Pandas内置的字符串方法就能搞定,不用写自定义函数,给你两种简单的实现方式:
方法一:结合str.contains()和str.endswith()
先筛选出名称包含指定子串的列,再叠加“以_result结尾”的条件,示例代码(假设你要找含"abc"的列):
# 筛选符合条件的列名 target_cols = df.columns[df.columns.str.contains("abc") & df.columns.str.endswith("_result")] # 提取这些列组成新的DataFrame result_df = df[target_cols]
这里str.contains()负责匹配包含指定子串的列,str.endswith()确保列名以_result结尾,用&把两个条件结合起来,就能精准筛选。
方法二:用正则表达式的str.contains()
如果想用一行正则搞定,直接把两个条件整合到正则里,示例:
# 正则表示:任意内容 + 指定子串 + 任意内容 + 以_result结尾 target_cols = df.columns[df.columns.str.contains(r".*abc.*_result$")] result_df = df[target_cols]
正则里的.*匹配任意长度的任意字符,$强制匹配字符串结尾,确保列名最后一定是_result。
内容的提问来源于stack exchange,提问作者Leteers
相关产品推荐
相关产品推荐

