【问题标题】:Sum all columns by month?按月汇总所有列?
【发布时间】:2022-11-22 01:25:04
【问题描述】:

我有一个dataframe

    date           C      P
0   15.4.21       0.06   0.94
1   16.4.21       0.15   1.32
2   2.5.21        0.06   1.17
3   8.5.21        0.20   0.82
4   9.6.21        0.04  -5.09
5   1.2.22        0.05   7.09

我需要在 Sum 中创建 2 列两个都CP 每个月。

所以新的df 将有 2 列,例如月份 4(四月)(0.06+0.94+0.15+1.32)= 2.47,所以新的df

     4/21    5/21    6/21    2/22  

0    2.47    2.25    ..      ..

列名和顺序无关紧要,实际上字符串月份名称更好(4 月 22 日)。

我正在玩这样的东西,这不是我需要的:

df[['C','P']].groupby(df['date'].dt.to_period('M')).sum()

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    你快搞定了,你需要先转换to_datetime

    df[['C','P']].groupby(pd.to_datetime(df['date']).dt.to_period('M')).sum()
    

    输出:

                C     P
    date               
    2021-02  0.06  1.17
    2021-04  0.21  2.26
    2021-08  0.20  0.82
    2021-09  0.04 -5.09
    2022-01  0.05  7.09
    

    【讨论】:

      猜你喜欢
      • 2015-03-21
      • 2021-02-16
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      相关资源
      最近更新 更多