pandas数据分组与聚合

本文详细介绍了如何使用Pandas对数据集进行按列、列表、字典和函数分组,并演示了agg和apply方法进行数据聚合,以及数据透视表和交叉表的创建。涵盖了基础到进阶的数据处理技巧。

目录

1.数据分组

1.1 按列名分组

1.2按列表或元组分组

1.3 按字典分组

1.4按函数分组

2.数据聚合

2.1使用agg方法聚合函数

2.2使用apply方法聚合函数

3.数据透视表

3.1 透视表

3.2 交叉表


1.数据分组

pandas提供了groupby方法根据某个或几个字段对数据进行分组。

1.1 按列名分组

import numpy as np
df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'],
    'key2' : ['yes', 'no', 'yes', 'yes', 'no'],
    'data1' : np.random.randn(5),
    'data2' : np.random.randn(5)})
print(df)
groupk1 = df.groupby('key2').mean()
groupk1
#-------------------------------------------------
key1 key2     data1     data2
0    a  yes  0.459241  0.178359
1    a   no  0.707976 -0.147157
2    b  yes  0.604565 -0.723689
3    b  yes  1.524165 -0.332724
4    a   no  1.022692 -0.303317
        data1	data2
key2		
no	0.865334	-0.225237
yes	0.862657	-0.292685

1.2按列表或元组分组

wlist = ['w','w','y','w','y']
df.groupby(wlist).sum()
#------------------------------
        data1	data2
w	2.691381	-0.301521
y	1.627258	-1.027006

1.3 按字典分组

df = pd.DataFrame(np.random.normal(size = (6,5)),index = ['a','b','c','A','B','c'])
print("数据为:\n",df)
wdict = {'a':'one','A':'one','b':'two','B':'two','c':'three'}
print("分组汇总后的结果为:\n",df.groupby(wdict).sum())
#----------------------------------------------------------------------
数据为:
           0         1         2         3         4
a  1.083443  1.031824  0.460074  0.24346
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

抱抱宝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值