Python3 Pandas 将列日期合并或合并为月份

时间:2021-06-17 12:45:19

标签: python-3.x group-by pivot-table

有一个数据集,其中有一个新列,用于表示每位员工的每一天和工作时间:

ID     1/1    1/2    1/3   1/4   ...   2/1   2/2   2/3  2/4 ... 3/1  3/2
A0001    0      0      0     8           8     8     8    8       5    8
A0002    0      0      0     0           8     4     4    4       4    4
A0003    0      0      8     8           8     8     8    8       8    8

问题是我有太多的日期列,我想使用 groupby 或 pivot 将它们合并或合并为几个月。列标题是字符串“1/1”、“1/2”,所以我认为它们不会被识别为日期。

理想情况下希望 df 看起来像:

ID      1/2021    2/2021    3/2021   ...  
A0001        8        32        13
A0002        0        20         8
A0003       16        32        16 

我尝试制作一个数据透视表,但很惊讶其余的列根本没有聚合。然后我按位置按每一列尝试分组,但它也不起作用:

df = df.pivot_table(df,index=['ID'], aggfunc='sum').reset_index()

df = df.groupby(['ID'],as_index=False)[df.columns[2:]].sum()

也试过换位,但日期没有合并。还有其他我应该尝试的方法吗?

0 个答案:

没有答案
相关问题