标题可能会让人感到困惑(老实说,不太清楚如何用一句话来概括),所以这里有一个更好的解释:
我目前正在处理一个关于不同属性的dataFramea,我在数据列age
上使用了一个.groupby[].count()
函数来创建出现的列表:
A_sub = A.groupby(['age'])['age'].count()
A_sub
返回类似以下的序列(值是随机修改的):
age
1 316
2 249
3 221
4 219
5 262
...
59 1
61 2
65 1
70 1
80 1
Name: age, dtype: int64
我想绘制一个元素划分的值列表。我要执行的除法是元素值除以索引大于或等于该元素的所有元素之和。换言之,例如,对于3岁的孩子,它应该会回来
221/(221+219+262+...+1+2+1+1+1)
相同的计算应适用于所有元素。理想情况下,结果应该是类似的类型/格式,以便可以绘制。你知道吗
您可以使用pandas中的函数
cumsum()
来获得累计和:下面是一个使用numpy的快速示例。类似的方法也可以用在熊猫身上。
for
循环很可能被更聪明、更有效的方法来代替,以计算系数。你知道吗输出:
编辑:在
0
处初始化的系数和for
循环可以替换为:没有理由使用numpy,熊猫已经包括了我们需要的一切。你知道吗
A_sub
似乎返回一个序列,其中age
是索引。这不太理想,但应该没问题。因此,下面的代码对一个系列进行操作,但是可以很容易地修改为工作数据帧。你知道吗我在索引中看到你关于年龄缺失的评论。下面是如何添加从最小索引到最大索引范围内缺少的索引,然后执行除法。你知道吗
相关问题 更多 >
编程相关推荐