我有一个关于我的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中,年份和月份是多索引的,其他列则包括相应情况的计数。
答案 0 :(得分:0)
我在melt
和groupby
之前使用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