繁体   English   中英

通过工作日的日期时间列对数据框进行分组

[英]Group Dataframe with datetime column by weekday

我有一个数据框,其中一列为日期时间格式,另一列为整数和浮点数。 我想按第一列的工作日对数据框进行分组。 其他列将被添加。

print (df)
Day               Butter Bread Coffee
2019-07-01 00:00:00 2   2   4
2019-07-01 00:00:00 1  2   1
2019-07-02 00:00:00 5  4   8

基本上,结果在某些时候是相同的:

print (df)
Day Butter Bread Coffee
Monday 3   4   5
Tuesday 5  4   8

如果可以说星期一,星期二的第一天是MO还是01,我很灵活,只要可以看到星期一,星期二,星期三,星期四,星期五,星期六和星期天进行了哪些消费即可。

尝试使用.dt.day_name()和groupby(),sum()

df = pd.DataFrame(data={'day':['2019-07-01 00:00:00','2019-07-01 00:00:00','2019-07-02 00:00:00'],
                       'butter':[2,1,5],
                       'bread':[2,2,4],
                       'coffee':[4,1,8]}) 
df['day'] = pd.to_datetime(df['day']).dt.day_name()
df.groupby(['day'],as_index=False).sum()

     day    butter  bread   coffee
0   Monday      3      4    5
1   Tuesday     5      4    8

您应该将“ Day”转换为datetime类型,然后可以提取星期几并汇总其余各列:

import pandas as pd
df['Day'] = pd.to_datetime(df['Day'])
df.groupby(df['Day'].dt.day_name()).sum()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM