Python 按月计算数据帧的累计值
Excel中的一个数据框看起来像屏幕截图的左边,我想计算它的两列的累积值,按月份计算成本和数量篮 如屏幕截图右侧所示 我尝试了以下几种方法,但仍然没有得到它Python 按月计算数据帧的累计值,python,pandas,dataframe,Python,Pandas,Dataframe,Excel中的一个数据框看起来像屏幕截图的左边,我想计算它的两列的累积值,按月份计算成本和数量篮 如屏幕截图右侧所示 我尝试了以下几种方法,但仍然没有得到它 df["Period"] = pd.to_datetime(df["Period"]) df_1 = df.groupby(["Store", "Fruit", "Period"]).sum() or df_2 = df.groupby(["Store", "Fruit", "Period"])['Cost'].agg('sum'
df["Period"] = pd.to_datetime(df["Period"])
df_1 = df.groupby(["Store", "Fruit", "Period"]).sum()
or
df_2 = df.groupby(["Store", "Fruit", "Period"])['Cost'].agg('sum')
or
df_3 = df.groupby(["Store", "Fruit", "Period"])['Cost'].sum()
or
df_4 = df.groupby(["Store", "Fruit"])['Cost'].sum()
你能帮我找到正确的方法吗?谢谢。与以下内容一起使用:
你能按月份再解释一下吗?
df["Period"] = pd.to_datetime(df["Period"])
df_1 = df.groupby(["Store", "Fruit", "Period"]).sum()
or
df_2 = df.groupby(["Store", "Fruit", "Period"])['Cost'].agg('sum')
or
df_3 = df.groupby(["Store", "Fruit", "Period"])['Cost'].sum()
or
df_4 = df.groupby(["Store", "Fruit"])['Cost'].sum()
df1 = df.join((df.groupby(["Store", "Fruit", "Period"])['Cost', 'Quantity (Basket)']
.cumsum()
.add_prefix('Accumulative ')))
print (df1)
Store Fruit Period Cost Quantity (Basket) Accumulative Cost \
0 A Avocado 2017-04-01 450 68 450
1 A Avocado 2017-11-01 8682 72 8682
2 A Avocado 2018-01-01 2372 69 2372
3 A Berry 2017-01-01 976 70 976
4 A Berry 2017-02-01 329 70 329
5 A Berry 2017-03-01 3752 57 3752
6 B Apple 2017-05-01 379 60 379
7 B Apple 2017-06-01 5868 58 5868
8 B Apple 2017-07-01 5497 49 5497
9 B Orange 2018-07-01 1515 80 1515
10 B Orange 2018-10-01 3234 60 3234
11 B Orange 2018-11-01 5430 64 5430
Accumulative Quantity (Basket)
0 68
1 72
2 69
3 70
4 70
5 57
6 60
7 58
8 49
9 80
10 60
11 64
df2 = df.join((df.groupby(["Store", "Fruit"])['Cost', 'Quantity (Basket)']
.cumsum()
.add_prefix('Accumulative ')))
print (df2)
Store Fruit Period Cost Quantity (Basket) Accumulative Cost \
0 A Avocado 2017-04-01 450 68 450
1 A Avocado 2017-11-01 8682 72 9132
2 A Avocado 2018-01-01 2372 69 11504
3 A Berry 2017-01-01 976 70 976
4 A Berry 2017-02-01 329 70 1305
5 A Berry 2017-03-01 3752 57 5057
6 B Apple 2017-05-01 379 60 379
7 B Apple 2017-06-01 5868 58 6247
8 B Apple 2017-07-01 5497 49 11744
9 B Orange 2018-07-01 1515 80 1515
10 B Orange 2018-10-01 3234 60 4749
11 B Orange 2018-11-01 5430 64 10179
Accumulative Quantity (Basket)
0 68
1 140
2 209
3 70
4 140
5 197
6 60
7 118
8 167
9 80
10 140
11 204