[央视新闻]在pandas中,如何按照某列中不同类别来计算累加和[每日推荐 ]

[央视新闻]在pandas中,如何按照某列中不同类别来计算累加和[每日推荐 ]

已邀请:
我们可以使用 groupby 方法来获得累计和。考虑以下带有 DataFrame,Fruit 和 Sale 列的 DataFrame:

import pandas as pd

df = pd.DataFrame(
{
'Date':
['08/09/2018',
'10/09/2018',
'08/09/2018',
'10/09/2018'],
'Fruit':
['Apple',
'Apple',
'Banana',
'Banana'],
'Sale':
[34,
12,
22,
27]
})
如果我们要计算每个水果的累计销售总额,对于每个日期我们可以这样计算,

import pandas as pd

df = pd.DataFrame(
{
'Date':
['08/09/2018',
'10/09/2018',
'08/09/2018',
'10/09/2018'],
'Fruit':
['Apple',
'Apple',
'Banana',
'Banana'],
'Sale':
[34,
12,
22,
27]
})

print(df.groupby(by=['Fruit','Date']).sum().groupby(level=[0]).cumsum())
运行上述代码后,我们将获得以下输出,该输出显示每个日期的水果累积总和:

Fruit Date Sale
Apple 08/09/2018 34
10/09/2018 46
Banana 08/09/2018 22
10/09/2018 49

要回复问题请先登录注册