admin 管理员组文章数量: 887021
2024年2月18日发(作者:动态网页和静态网页的主要区别在哪里)
pandas group by用法
pandas的groupby()方法可以对数据进行分组操作,并且可以对分组后的数据进行聚合、转换和过滤等操作。
基本用法
python
y(by, axis=0, level=None, as_index=True, sort=True,
group_keys=True, squeeze=False, observed=False, kwargs)
- by: 分组依据,可以是列标签、函数、数组或字典。
- axis: 0表示按行分组,1表示按列分组,默认为0。
- level: 按多层索引分组时指定分组层数。
- as_index: 是否把分组依据的列当作索引,默认为True。
- sort: 是否对分组结果进行排序,默认为True。
- group_keys: 是否在分组结果上加入分组键,默认为True。
- squeeze: 是否删除维度为1的分组键,默认为False。
- observed: 对于多层索引,是否只考虑观察到的值(True),还考虑未观察到的值(False)。
聚合操作
pandas中的聚合操作包括mean、sum、count、min、max、median、var、std等方法,可以使用aggregate()方法或agg()方法进行调用。
python
y(by).mean()
y(by).sum()
y(by).count()
y(by).min()
y(by).max()
y(by).median()
y(by).var()
y(by).std()
agg()方法可以使用自定义函数进行聚合操作:
python
y(by).agg(func)
转换操作
转换操作主要有apply、transform、filter三种方法。
apply()方法可以对每个分组进行任意操作:
python
y(by).apply(func)
transform()方法对每个分组进行相同的操作:
python
y(by).transform(func)
filter()方法用于过滤分组:
python
y(by).filter(func)
其他操作
agg()、apply()、transform()和filter()方法都支持多种分组操作,例如:
python
y(by).agg([func1, func2])
y(by).apply([func1, func2])
y(by).transform([func1, func2])
y(by).filter([func1, func2])
可以同时对多列进行分组:
python
y([col1, col2]).mean()
可以对分组结果进行连接操作:
python
y(by1).concat(y(by2))
版权声明:本文标题:pandas group by用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1708270352h518238.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论