Pandas数据分析之GroupBy用法详解和示例

分类:知识百科 日期: 点击:0

Pandas的GroupBy函数可以让用户将数据分组,并对分组后的数据进行聚合操作,从而得到更有价值的结果。GroupBy函数的使用方法如下:

1. 创建GroupBy对象

# 以下代码将DataFrame对象df按照列A进行分组
grouped = df.groupby('A')

2. 对GroupBy对象进行聚合操作

# 以下代码将分组后的DataFrame按照列B进行求和
grouped.sum()['B']

3. 使用GroupBy对象进行过滤操作

# 以下代码将分组后的DataFrame按照列C进行过滤,只保留大于等于5的行
grouped.filter(lambda x: x['C'].mean() >= 5)

4. 使用GroupBy对象进行转换操作

# 以下代码将分组后的DataFrame按照列D进行转换,将每一行的值乘以2
grouped.transform(lambda x: x * 2)

5. 使用GroupBy对象进行应用操作

# 以下代码将分组后的DataFrame按照列E应用一个自定义函数
grouped.apply(my_func)

示例

import pandas as pd

# 创建一个DataFrame
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)})

# 按照列A进行分组
grouped = df.groupby('A')

# 对分组后的DataFrame按照列B进行求和
grouped.sum()['B']

# 将分组后的DataFrame按照列C进行过滤,只保留大于等于5的行
grouped.filter(lambda x: x['C'].mean() >= 5)

# 将分组后的DataFrame按照列D进行转换,将每一行的值乘以2
grouped.transform(lambda x: x * 2)

# 将分组后的DataFrame按照列E应用一个自定义函数
grouped.apply(my_func)

以上就是Pandas的GroupBy函数的使用方法,通过GroupBy函数可以将数据分组,并对分组后的数据进行聚合操作,从而得到更有价值的结果。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。