2016-12-07 121 views
1

我有一個由以下列組成的DataFrame:ActualDate,Brand,Likes和Comments。 ActualDate包含YYYY-MM-DD格式的日期值並且具有重複值。品牌是一個字符串,而喜歡和評論是整數值。我希望將這些數據彙總爲每週和每月的格式,顯示喜歡和評論的平均值。我嘗試了下面的代碼,但遇到了一些問題。請幫忙。熊貓:將DataFrame記錄分組爲每週和每月記錄

df_output['ActualDate'] = pd.to_datetime(df_output['ActualDate']) 
print(df_output.head(30)) 
df_output_weekly = pd.DataFrame() 
df_output_weekly=df_output.reset_index().set_index('ActualDate').resample("W") 
df_output.set_index(df_output['ActualDate']) 
print(df_output_weekly.head()) 
+0

份額df_output.head() – Boud

回答

0

我想你需要添加mean

df_output['ActualDate'] = pd.to_datetime(df_output['ActualDate']) 

df_output_weekly= df_output.set_index('ActualDate').resample("W").mean().reset_index() 
print(df_output_weekly.head()) 

樣品:

df_output = pd.DataFrame({'ActualDate':['2016-01-02','2016-01-03','2016-01-04'], 
          'Brand':['s','d','f'], 
          'Likes':[7,8,9], 
          'Comments':[7,8,9]}) 

print (df_output) 
    ActualDate Brand Comments Likes 
0 2016-01-02  s   7  7 
1 2016-01-03  d   8  8 
2 2016-01-04  f   9  9 

df_output['ActualDate'] = pd.to_datetime(df_output['ActualDate']) 

df_output_weekly= df_output.set_index('ActualDate').resample("W").mean().reset_index() 
print(df_output_weekly.head()) 
    ActualDate Comments Likes 
0 2016-01-03  7.5 7.5 
1 2016-01-10  9.0 9.0 
+0

感謝您的答覆。我想到了下面,但你的建議似乎更優雅。謝謝! df_output_weekly = df_output.reset_index()。set_index('ActualDate')。resample(「W」)。agg({'Likes':np.mean,'Comments':np.mean}) – Srikanth