熊猫:类别中的百分比

时间:2014-01-18 15:58:58

标签: python pandas

我有一个像这样的数据框(除了有更多的行和大小,比如说):

   size amount
1   big      1
2   big      9
3 small      3
4 small      1

我希望获得这样的数据框,其中amountPct除以具有相同大小的金额之和。

   size amountPct
1   big      0.10
2   big      0.90
3 small      0.75
4 small      0.25

我可以通过重塑数据框,除以每个大小的总和,然后将其重新塑造回原始形状来实现这一点,但是有更优雅的方法吗?

PS:我问了R同样的问题,但现在我想要Pandas的答案!

1 个答案:

答案 0 :(得分:2)

这样的事情怎么样:

df = pd.DataFrame({'size':['big', 'big', 'small', 'small'], 'amount':[1, 9, 3, 1]})
df['pct'] = df.groupby('size')['amount'].apply(lambda x: x.astype(float)/x.sum())
相关问题