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只有一个值。我认为它涵盖了。每行都有一个累积值