Pandas过滤-filter函数,query函数的使用
发布网友
发布时间:2022-12-17 05:02
我来回答
共1个回答
热心网友
时间:2023-09-14 04:22
在使用pandas进行数据分析时,经常遇到需要过滤信息的场景,此时我们可以用到2种函数,query和filter。
query函数我认为类似sql语言中的where,可以对dataframe中的特定column进行筛选。具体语法如下:
df.query('列名 判断 值'),如df.query('column1 > 2 and column 2<1')
等于
df[df[列名] 判断 值],如 df[df[column1]>2 & df[column2]<1]
filter常规用法,在pandas说明里很好找到:
DataFrame.filter(items=None, like=None, regex=None, axis=None)
#items对列进行筛选#regex表示用正则进行匹配#like进行筛选#axis=0表示对行操作,axis=1表示对列操作
今天我想分享一些特殊用法:
1. filter和匿名函数的使用,用来筛选groupby之后的数据。类似sql中groupby后的having
df1=df.groupby('district').filter(lambda x: x['age'].mean()>20)
结果会将所有age>20的district的行选掉,返回 所有 其他值。