我有劳动时间的年度数据。我想绘制每周工作日的年度数据,即星期一,星期二,星期三等。我试图过滤数据一段时间,然后汇总过滤数据每天的工时。
代码如下:
df2 = df1[(df1['STime'] > '1900-01-01 07:51:00') & (df1['ETime'] < '1900-01-01 18:00:00')]
df3 = df2.groupby('Edate', as_index=False).agg({"LaborReq.Actual Hrs": "sum"})
df3.plot(x='Edate', y='LaborReq.Actual Hrs')
我现在的情节:
我如何在每个工作日获得它们,即整个时期的所有星期一?
对不起,如果我的疑问是基本的。我是python和数据分析的新手。
答案 0 :(得分:0)
试试这个:
df1['day_of_week'] = df1.STime.apply(to_datetime).dt.dayofweek
# replace day names
df1.day_of_week.replace({0:'Monday',1:'Tuesday',2:'Wednesday',3:'Thursday',4:'Friday',5:'Saturday',6:'Sunday'}, inplace=True)
# some labor by day group
df2 = df1.groupby('day_of__week').sum()