Python数据分析之数据聚合与分组运算(拆分、应用、合并)

本文详细介绍了Python数据分析库Pandas中的数据分组与聚合操作,包括groupby()方法的使用、按不同方式进行分组、数据聚合及其内置统计方法,以及transform()和apply()方法在分组级运算中的应用。
摘要由CSDN通过智能技术生成

1.分组与聚合的原理

在Pandas中:

分组:指使用特定的条件将原数据划分为多个组;

聚合:对每个分组中的数据执行某些操作,最后将计算的结果进行整合。

1.2分组与聚合的过程分为三步

1.2.1拆分

将数据集按照些标准拆分为若干个组。split拆分方法

1.2.2应用

将某个函数或方法(内置和自定义均可)应用到每个分组。apply方法应用

1.2.3合并

将产生的新值整合到结果对象中。combine方法整合

2. 通过groupby()方法将数据拆分成组

​ 在Pandas中,可以通过groupby()方法将数据集按照某些标准划分成若干个组。

2.1 groupby()方法

by:用于确定进行分组的依据。

level:两层索引指定内外层,0/1。

axis:表示分组轴的方向。

sort:表示是否对分组标签进行排序,接收布尔值,默认为True。

groupby()方法会返回一个 Groupby对象,该对象实际上并没有进行任何计算,只是包含一些关于分组键的中间数据而已。

•使用Series调用groupby()方法返回的是SeriesGroupBy对象。

•使用DataFrame调用groupby()方法返回的是DataFrameBy对象。

2.2 groupby()方法的by参数

​ by 参数可以接受的数据有4种:列表或数组、DataFrame某列、字典或Series对象、函数

2.2.1 按列名进行分组

​ 如果DataFrame对象的某一列数据符合划分成组的标准,则可以将该列当做分组键来拆分数据集。

df = pd.DataFrame({
   "Key":['C','B','C','A','B','B','A','C','A'],
                   "Data":[2,4,6,8,10,1,14,16,18]})
                   
# 通过groupby()方法将数据集按照某些标准划分成若干个组。
# 按Key列进行分组 或 通过列名进行分组
# 如果DataFrame对象的某一列数据符合划分成组的标准,则可以将该列当做分组键来拆分数据集。

df.groupby(by='Key')

查看每个分组的具体内容,使用for循环遍历DataFrameGroupBy对象

group_obj = df.groupby('Key')
# 遍历分组对象
for i in group_obj:
    print(i)

2.2.2 按Series对象进行分组

​ 将自定义的Series类对象作为分组键进行分组。

# 按自定义Series对象进行分组 或 通过Series对象进行分组
# 将自定义的Series类对象作为分组键进行分组。
df = pd.DataFrame({
   'key1': ['A', 'A', 'B', 'B', 'A'],
                   'key2': ['one', 'two', 'one', 'two', 'one'],
                   'data1': [2, 3, 4, 6, 8],
                   'data2': [3, 5, 6, 3, 7]})
se = pd.Series(['a', 'b'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liangpi_hero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值