Python 如何在panda数据帧中实现like-sumifs函数

Python 如何在panda数据帧中实现like-sumifs函数,python,dataframe,data-science,Python,Dataframe,Data Science,我想添加一列来计算累计正常运行时间。 下面是我的数据框: 我的期望如下: body_id active_date uptime cumulative_uptime 51C00195 2017/1/26 1.18 1.18 51C00232 2017/1/12 0.83 0.83 51C00232 2017/1/19 6.28 7.11 51C00232 2017/1/20 9.35 16.46 51C00232 2017/1

我想添加一列来计算累计正常运行时间。 下面是我的数据框:

我的期望如下:

body_id    active_date  uptime cumulative_uptime
51C00195    2017/1/26   1.18   1.18
51C00232    2017/1/12   0.83   0.83
51C00232    2017/1/19   6.28   7.11
51C00232    2017/1/20   9.35   16.46
51C00232    2017/1/21   3.88   20.34
使用
sumif
,可以在excel中简单地实现上述计算, 然而在熊猫中,我不知道怎么做


有人能帮忙吗?提前谢谢~~~

我想cumsum适合它

df['cumulative_uptime'] = df.groupby('body_id')['uptime'].cumsum()

>>> import pandas as pd
>>>     
... df = pd.DataFrame({'body_id': ['51C00195','51C00232', '51C00232','51C00232','51C00232'],
...     'active_date': ['2017/1/26','2017/1/12','2017/1/19','2017/1/20','2017/1/21'],
...                    'uptime': [1.18,0.83,6.28,9.35,3.88]
...                        })
>>> 
>>> df['cumulative_uptime'] = df.groupby('body_id')['uptime'].cumsum()
>>> 
>>> df
  active_date   body_id  uptime  cumulative_uptime
0   2017/1/26  51C00195    1.18               1.18
1   2017/1/12  51C00232    0.83               0.83
2   2017/1/19  51C00232    6.28               7.11
3   2017/1/20  51C00232    9.35              16.46
4   2017/1/21  51C00232    3.88              20.34
>>> 

您的标准是什么?对于累积总和,pandas中提供了一个
cumsum
函数。您能否以文本形式提供输入数据?正常运行时间1.18或累计正常运行时间等于0.83是什么意思。是在几天内吗?你到底想做什么?我想把正常运行时间加起来。谢谢你的回答。但我想要的是每行有一个累积值,而不是每一个id只有一个值。我认为它涵盖了。每行都有一个累积值