python - 每月总计和累计总和 - Pandas

标签 python pandas dataframe

我想要按月分配总收入以及按一年中的月份排序的逐月累积收入。下表给出了源示例

Bill_Date     Sale_Net_Value
2021-01-01    220
2021-01-28    300
2021-02-03    250

预期输出:

Month  Total_Revnue cumilitive
Jan    520          520
Feb    250          770

最佳答案

您可以对月份进行分组并对“Sale_Net_Value”列求和,然后使用 assigncumsum() 创建一个新列:

df['Bill_Date'] = pd.to_datetime(df.Bill_Date)

df.groupby(df.Bill_Date.dt.month_name().str[:3]).agg(
    Total_revenue=('Sale_Net_Value','sum')
    ).assign(cumulative= lambda col: col['Total_revenue'].cumsum())

打印:

           Total_revenue  cumulative
Bill_Date                           
Jan                  520         520
Mar                  250         770

关于python - 每月总计和累计总和 - Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71084112/

相关文章:

python - 如何将包含可迭代项作为项目的字典转换为数据框

python - 决策树——Python最有影响力的参数

python - 分割这条线的最pythonic方式?

python - Kivy:使用 ListAdapter 或 DictAdapter 更新 ListView 数据不会更改按钮文本

python - 二值图像数据帧到欧几里德坐标

python - pandas.DataFrame 中重复列的有趣结果

mysql - 对数据框应用函数返回不正确的结果

python - 为什么python输入函数返回空字符串而不是等待用户输入?

python - 使用 Pandas 迭代 CSV 行,执行 Selenium 操作

python - 从列表列表创建 Pandas 数据框,但有不同的分隔符