如何在熊猫中做这样的计算任务?

Posted

技术标签:

【中文标题】如何在熊猫中做这样的计算任务?【英文标题】:how to do such calculation task in pandas? 【发布时间】:2016-10-25 12:17:23 【问题描述】:

我有一个这样的数据框

                 disc       val
a            -1.140502       1
b            -0.916104       2
c            -0.828460       3
d            -2.828460       4
e            -2.238450       5

我想得到类似的结果数据框

                 disc       val     final
a            -1.140502       1       1
b            -0.916104       2       2 
c            -0.828460       3       6
d            -2.828460       4       24 
e            -2.238450       5       120

【问题讨论】:

请展示一些研究和尝试。包括您当前的代码以及您认为失败的原因。 我是熊猫新手。我知道的唯一方法是执行这样的 for 循环:for i in range(df.shape[0]): 进行计算并填充数据。然而,这是如此缓慢和丑陋。我想知道是否有更简单的方法可以做到这一点。 【参考方案1】:

试试这个:

In [17]: df.val.cumprod()
Out[17]:
a      1
b      2
c      6
d     24
e    120
Name: val, dtype: int64

【讨论】:

谢谢你。我用谷歌搜索了 30 分钟,没有得到正确的答案,但你只用了一行字就帮了我。

以上是关于如何在熊猫中做这样的计算任务?的主要内容,如果未能解决你的问题,请参考以下文章

python 如何在熊猫中做条件语句(CASE WHEN)

熊猫计算列中的元素并以重复的方式显示

我如何计算熊猫的人口?

为啥熊猫这么快?如何定义这样的功能?

如何使用熊猫计算最大点击间隔?

如何计算熊猫数据框中子组内项目的成对出现?