gpt4 book ai didi

python - Pandas :按双月日期字段分组

转载 作者:太空狗 更新时间:2023-10-30 02:52:30 26 4
gpt4 key购买 nike

我正在尝试按医院工作人员的双月工作时间进行分组。我每天都有原始数据,如下所示。

date       hourse_spent emp_id  
9/11/2016 8 1
15/11/2016 8 1
22/11/2016 8 2
23/11/2016 8 1

我想分组的方式是。

cycle                 hourse_spent      emp_id   
1/11/2016-15/11/2016 16 1
16/11/2016-31/11/2016 8 2
16/11/2016-31/11/2016 8 1

我正在尝试对 Pandas 中的石斑鱼和频率做同样的事情,如下所示。

data.set_index('date',inplace=True)
print data.head()
dt = data.groupby(['emp_id', pd.Grouper(key='date', freq='MS')])['hours_spent'].sum().reset_index().sort_values('date')

#df.resample('10d').mean().interpolate(method='linear',axis=0)
print dt.resample('SMS').sum()

我也试过重采样

df1 = dt.resample('MS', loffset=pd.Timedelta(15, 'd')).sum()
data.set_index('date',inplace=True)
df1 = data.resample('MS', loffset=pd.Timedelta(15, 'd')).sum()

但这给出了 15 天间隔的数据,而不是 1 到 15 和 15 到 31。

请让我知道我在这里做错了什么。

最佳答案

几乎在那里。这将做到 -

dt = df.groupby(['emp_id', pd.Grouper(key='date', freq='SM')])['hours_spent'].sum().reset_index().sort_values('date')

emp_id date hours_spent
1 2016-10-31 8
1 2016-11-15 16
2 2016-11-15 8

freq='SM' 是半月的概念,将使用每个月的15日和最后一天

关于python - Pandas :按双月日期字段分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53097026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com