Pandas筛选包含特定字符的列

问题提出:
比如有一个三百多列的数据集,想要快速找到包含xxx的列,这里有三种方法

  1. if判断+列表解析式
[x for x in df.columns if 'xxx' in x]
  • str.contain()+列表解析式
[x for x in df.columns[df.columns.str.contain('xxx')]]
  • filter函数
df.filter(like='xxx').columns

关于filter,这里可以多说一句,除了like匹配之外,还支持正则表达式匹配,参数为regex。
官方api上给出了filter更详细的用法,除了过滤列名外,还可以在行、列上进行筛选,filter全部的参数如下:

  • item:接收list类型参数,保留参数内项目的标签,举例
# 等同df[['a', 'b', 'c']]
df.filter(item=['a', 'b', 'c'])
  • like:like='xxx’等同 ‘xxx’ in labels
  • regex:正则表达式,输入字符串pattern
  • axis:表示作用的轴
    更多示例见官网:DataFrame filter函数

你可能感兴趣的:(学习笔记,机器学习)