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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。