python pandas stack_Python 数据分析之 pandas 进阶(二)

六、分组

对于“group by”操作,我们通常是指以下一个或多个操作步骤:

(Splitting)按照一些规则将数据分为不同的组

(Applying)对于每组数据分别执行一个函数

(Combining)将结果组合刀一个数据结构中

将要处理的数组是:

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

A B C D

0 foo one 0.961295 -0.281012

1 bar one 0.901454 0.621284

2 foo two -0.584834 0.919414

3 bar three 1.259104 -1.012103

4 foo two 0.153107 1.108028

5 bar two 0.115963 1.333981

6 foo one 1.421895 -1.456916

7 foo three -2.103125 -1.757291

1、分组并对每个分组执行sum函数:

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

C D

A

bar 2.276522 0.943161

foo -0.151661 -1.467777

2、通过多个列进行分组形成一个层次索引,然后执行函数:

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

C D

A B

bar one 0.901454 0.621284

three 1.259104 -1.012103

two 0.115963 1.333981

foo one 2.383191 -1.737928

three -2.103125 -1.757291

two -0.431727 2.027441

七、Reshaping

Stack

tuples = list(zip(*[['bar', 'bar', 'baz', 'baz',

'foo', 'foo', 'qux', 'qux'],

['one', 'two', 'one', 'two',

'one', 'two', 'one', 'two']]))

tuples

[('bar', 'one'),

('bar', 'two'),

(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值