如何在pd.DataFrame中按月/周对时间进行分组

时间:2019-04-26 23:18:24

标签: python pandas dataframe

我有一个关于我的Facebook的DataFrame,上面写着我感兴趣的事件,我加入的事件以及他们各自的时间范围。我遇到了按月或周对时间进行分组的问题,因为其中有两个

    joined_time interested_time
0   2019-04-01  2019-04-21
1   2019-03-15  2019-04-06
2   2019-03-13  2019-03-26

两个时间均表示当事件在Facebook中弹出时我单击“进行”或“感兴趣”按钮的时间。很抱歉,样本量很小,但这是我目前将其简化的内容。我想在这里实现的是,

Year  Month    Total_Events_No    Events_Joined    Events_Interested
2019   3               3                  2                  1
       4               3                  1                  2

在此DataFrame中,年份和月份是多索引的,其他列则包括相应情况的计数。

1 个答案:

答案 0 :(得分:0)

我在meltgroupby之前使用unstack

s=df.melt()
s.value=pd.to_datetime(s.value)
s=s.groupby([s.value.dt.year,s.value.dt.month,s.variable]).size().unstack()
s['Total']=s.sum(axis=1)
s
variable     interested_time  joined_time  Total
value value                                     
2019  3                    1            2      3
      4                    2            1      3