pandas 筛选含有特定元素的行或列 str.contains()函数

在处理数据的时候遇到需要查找含有某特定字符串的问题,顺便记录一下
我们先用str将所需要筛选的列转换成字符形式,然后通过contains()函数来筛选
下面看一个例子
创建一个DataFrame

df = pd.DataFrame({'A':['aasd','sb','adg','sfh','rh'],'B':np.arange(5)})
print(df)

out:
      A  B
0  aasd  0
1    sb  1
2   adg  2
3   sfh  3
4    rh  4

现在想将A列中含有字母r的行给筛选出来,利用str.contains()函数,注意,str代表的是字符串处理方式

print(df['A'].str.contains('r'))

out:
0    False
1    False
2    False
3    False
4     True
Name: A, dtype: bool

可以看到,contains()返回的是布尔型数值,那么后面就是一个简单的布尔运算了

print(df[df['A'].str.contains('r')])

out:
    A  B
4  rh  4

总代码

df = pd.DataFrame({'A':['aasd','sb','adg','sfh','rh'],'B':np.arange(5)})
print(df)
print('————————')
print(df['A'].str.contains('r'))
print('————————')
print(df[df['A'].str.contains('r')])

out:
      A  B
0  aasd  0
1    sb  1
2   adg  2
3   sfh  3
4    rh  4
————————
0    False
1    False
2    False
3    False
4     True
Name: A, dtype: bool
————————
    A  B
4  rh  4

你可能感兴趣的:(pandas 筛选含有特定元素的行或列 str.contains()函数)