【发布时间】:2013-12-27 04:32:08
【问题描述】:
我是 python 和 pandas 的新手,我想知道是否有一种“pythonic”方式来完成以下任务:我有一个如下所示的数据框:
L1 L2 L3
X 1 50
X 2 100
Z 1 15
X 3 200
Z 2 10
Y 1 1
Z 3 20
Y 2 10
Y 3 100
我正在尝试对行进行排序并创建一个附加列,以升序显示从 L3 派生的累积值。我需要的输出如下:
L1 L2 L3 New
X 3 200 0.40000
X 2 100 0.60000
X 1 200 1.00000
Y 3 100 0.90090
Y 2 10 0.99099
Y 1 1 1.00000
Z 3 20 0.44444
Z 1 15 0.77778
Z 2 10 1.00000
“新”下第 1 行的值 (0.4000) 表示 200/500(L1 的所有 L3 值的总和)。第二个值 (0.6000) 就是 300/500,依此类推。为 X、Y 和 Z 的每个值重复“循环”。
有人可以帮忙吗?谢谢。
【问题讨论】: