[英]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.