Pandas过滤-filter函数,query函数的使用

在使用pandas进行数据分析时,经常遇到需要过滤信息的场景,此时我们可以用到2种函数,query和filter。

query函数

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函数

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的行选掉,返回所有其他值。

你可能感兴趣的:(Pandas过滤-filter函数,query函数的使用)