Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按月计算数据帧的累计值_Python_Pandas_Dataframe - Fatal编程技术网

Python 按月计算数据帧的累计值

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'

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')
    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