Pandas实现groupby分组统计方法实例

 更新时间:2023年06月26日 09:31:21   作者:笑 瘾  
在数据处理的过程,有可能需要对一堆数据分组处理,例如对不同的列进行agg聚合操作(mean,min,max等等),下面这篇文章主要给大家介绍了关于Pandas实现groupby分组统计方法的相关资料,需要的朋友可以参考下

一、如何实现分组统计

groupby:先对数据分组,然后在每个分组上应用聚合函数、转换函数

通过三个实例来了解pandas是如何实现分组统计的

一、分组使用聚合函数做数据统计

二、遍历groupby的结果理解执行流程

三、实例分组探索天气数据

导入数据

import pandas as pd
import numpy as np
# 加上这一句,能在jupyter notebook展示matplot图表
#%matplotlib inline
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                   'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                   'C': np.random.randn(8),
                   'D': np.random.randn(8)})
df

二、分组使用聚合函数做数据统计

1、单个列groupby,查询所有数据列的统计

我们看到:

    groupby中的'A'变成了数据的索引列

    因为要统计sum,但B列不是数字,所以被自动忽略掉

df.groupby('A').sum()

2、多个列groupby,查询所有数据列的统计

我们看到:(‘A’,‘B’)成对变成了二级索引

df.groupby(['A','B']).mean()

3、同时查看多种数据统计

我们看到:列变成了多级索引

df.groupby('A').agg([np.sum, np.mean, np.std])

4、查看单列的结果数据统计

# 方法1:预过滤,性能更好
df.groupby('A')['C'].agg([np.sum, np.mean, np.std])

# 方法2
df.groupby('A').agg([np.sum, np.mean, np.std])['C']

5、不同列使用不同的聚合函数

df.groupby('A').agg({"C":np.sum, "D":np.mean})

三、遍历groupby的结果理解执行流程

for循环可以直接遍历每个group

1、遍历单个列聚合的分组

g = df.groupby('A')
for name,group in g:
    print(name)
    print(group)
    print()

1.1、可以获取单个分组的数据

g.get_group('bar')

2、遍历多个列聚合的分组

g = df.groupby(['A', 'B'])
for name,group in g:
    print(name)
    print(group)
    print()
#可以看到,name是一个2个元素的tuple,代表不同的列

g.get_group(('foo', 'one'))

四、实例分组探索天气数据

fpath = "./datas/beijing_tianqi_2018.csv"
df = pd.read_csv(fpath)
# 替换掉温度的后缀℃
df.loc[:, "bWendu"] = df["bWendu"].str.replace("℃", "").astype('int64')
df.loc[:, "yWendu"] = df["yWendu"].str.replace("℃", "").astype('int64')
df.head()

# 新增一列为月份
df['month'] = df['ymd'].str[:7]
df.head()

1、查看每个月的最高温度

data = df.groupby('month')['bWendu'].max()
data

type(data)

pandas.core.series.Series

2、查看每个月的最高温度、最低温度、平均空气质量指数

df.head()

group_data = df.groupby('month').agg({"bWendu":np.max, "yWendu":np.min, "aqi":np.mean})
group_data

总结

到此这篇关于Pandas实现groupby分组统计的文章就介绍到这了,更多相关Pandas实现groupby分组统计内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python程序的打包分发示例详解

    python程序的打包分发示例详解

    这篇文章主要为大家介绍了python程序的打包分发示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python十大列表操作技巧分享

    Python十大列表操作技巧分享

    这篇文章给大家介绍了Python十大列表操作技巧分享,列表展开,降维,分块,转置,查找众数,判断重复元素等十个操作技巧,并通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Pytorch实现各种2d卷积示例

    Pytorch实现各种2d卷积示例

    今天小编就为大家分享一篇Pytorch实现各种2d卷积示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python标准库sys和OS的函数使用方法与实例详解

    python标准库sys和OS的函数使用方法与实例详解

    这篇文章主要介绍了python标准库sys和OS的函数使用方法与实例详解,需要的朋友可以参考下
    2020-02-02
  • 使用python-cv2实现Harr+Adaboost人脸识别的示例

    使用python-cv2实现Harr+Adaboost人脸识别的示例

    这篇文章主要介绍了使用python-cv2实现Harr+Adaboost人脸识别的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 使用Python Flask构建轻量级灵活的Web应用实例探究

    使用Python Flask构建轻量级灵活的Web应用实例探究

    Flask是一个流行的Python Web框架,以其轻量级、灵活和易学的特性受到开发者的喜爱,本文将深入探讨Flask框架的各个方面,通过详实的示例代码,帮助大家更全面地了解和掌握这一强大的工具,
    2024-01-01
  • 如何使用Python获取昨天的日期

    如何使用Python获取昨天的日期

    Python 是一种高级语言,可用于数据科学和机器学习,以使用 Python 的数据结构训练 AI,它用于编写各种应用程序,从 Web 和桌面到操作系统级程序,这篇文章主要介绍了在 Python 中获取昨天的日期,需要的朋友可以参考下
    2023-05-05
  • Pytorch中关于model.eval()的作用及分析

    Pytorch中关于model.eval()的作用及分析

    这篇文章主要介绍了Pytorch中关于model.eval()的作用及分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python FTP文件定时自动下载实现过程解析

    Python FTP文件定时自动下载实现过程解析

    这篇文章主要介绍了Python FTP文件定时自动下载实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • python 遍历pd.Series的index和value

    python 遍历pd.Series的index和value

    今天小编就为大家分享一篇python 遍历pd.Series的index和value,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论