python pandas 数据透视表_python pandas简单数据透视表总数

我正在尝试确定对我的数据进行简单调整的最佳方法:

import pandas

dfn = pandas.DataFrame({

"A" : [ 'aaa', 'bbb', 'aaa', 'bbb' ],

"B" : [ 1, 10, 2, 30 ],

"C" : [ 2, 0, 3, 20 ] })

我想要的输出是一个数据帧,按A分组,B和C的总和和计数值,名称必须是精确的(Sum_B,Sum_C,Count),如下所示:

A Sum_B Sum_C Count

aaa 3 5 2

bbb 50 20 2

最快的方法是什么?

解决方法:

你可以使用.agg()功能:

In [227]: dfn.groupby('A').agg({'B':sum, 'C':sum, 'A':'count'}).rename(columns={'A':'count'})

Out[227]:

B count C

A

aaa 3 2 5

bbb 40 2 20

或者使用reset_index():

In [239]: dfn.groupby('A').agg({'B':sum, 'C':sum, 'A':'count'}).rename(columns={'A':'count'}).reset_index()

Out[239]:

A B count C

0 aaa 3 2 5

1 bbb 40 2 20

PS这是0700到@evan54提供的示例

标签:python,dataframe,group-by,pandas,pivot-table

来源: https://codeday.me/bug/20190527/1166474.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值