Pandas DataFrame筛选包含某个关键词的行列

Pandas DataFrame筛选包含某个关键词的行列,第1张

首先把需要筛选的列转化为pandas.core.strings.StringMethods,然后再用contains函数来得到布尔值的 (因为直接取行/列为Series对象,而不能直接对Series对象使用contains)Series:

筛选可以直接利用[ ]来完成:

同理,可以使用str函数来对DataFrame的的行/列做对于字符串的 *** 作:

s.str.lower()

s.str.upper()

s.str.len()

s.str.strip()

s.str.split(' ')

s.str.replace('@','$')

s.str.count()

s.str.startswith()

s.str.endswith()

s.str.find()

s.str.findall()

s.str.swapcase()

s.str.isupper()

s.str.islower()

s.str.isnumeric()

1、根据某列值进行条件筛选

df1=df[df['列标签']条件] #条件为条件表达式。其中df['列标签']条件,返回一个bool值,df1=df[bool]把DataFrame中bool值为Ture的符合筛选条件的筛选出来。

例如:df1=df[df['工作者']>100] 

它的工作原理是:

bool=[df['工作者']>100

df1=df[bool]

2、同时满足多个条件的筛选

多个df['列标签']条件,返回多个bool值

bools=bool1&bool2&bool3 #多个bool值取逻辑与

df[bools]

3、按含有字符的条件筛选某列

df['列索引'] #数据类型为dtype:object,需要转换成字符串才能分析。

df['列索引'] .str #可以把它转换成str类型。

bool=df['列索引'] .str.contains('字符串')#判断是否含有该字符串。

df[bool]筛选出含有要求字符串的DataFrame。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9746039.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存