Pandas中数据的分组:分组->处理->合并
对数据进行分组操作,往往是为了对数据做进一步的处理。一般情况下,会按照以下的步骤,对数据进行操作:
- 将数据按照一定的条件进行分组;
- 使用特定的方法,对各组数据进行处理;
- 将结果重新合并为一组数据。
在对分组后数据进行处理时,通常会有以下几种方式:
- 聚合: 对每组数据进行汇总统计。例如:求每组数据的和、均值;又或是统计每组数据的个数。
- 转化: 通常是将数据按照特定的步骤进行处理。例如:将数据组进行标准化;又或者是利用每组数据的均值填充
NA值。 - 过滤: 根据规则过滤掉某些组。例如:将含有
NA值的数据归为一组并丢弃。
当然,也可以是以上多种处理方式的混合,例如:求出每组数据的均值,然后根据均值过滤掉某些不满足条件的数据组。
1. 将Pandas中的对象分组
在Pandas中,可以使用groupby()方法对Pandas对象在任意轴向上进行分组,并生成一个GroupBy对象。先用DataFrame对象做个简单的演示:
1 | df = pd.DataFrame( |
使用groupby()进行分组:
1 | In [2]: grouped = df.groupby('性别') |
运行代码之后,会得到一个DataFrameGroupBy对象:
1 | Out[2]: <pandas.core.groupby.generic.DataFrameGroupBy object at 0x10f662cd0> |
让我们将这个DataFrameGroupBy对象转换为List,看看分组之后的结果是什么样的:
1 | In [3]: list(grouped) |
1 | Out[3]: [('女', |
可以看到,转换出的List中含有两个元组,每个元组中含有两个元素。第一个元素是组别,因为我们按照性别列进行的分组,所以最终的结果是男、女两组。第二个元素是对应组别下的子DataFrame
- 标题: Pandas中数据的分组:分组->处理->合并
- 作者: ry Lee
- 创建于 : 2023-03-27 21:37:37
- 更新于 : 2023-11-28 12:17:56
- 链接: https://blog.rylee.fun/2023/03/27/pandas-groupby/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论