Pandas:将DataFrame记录分组为每周和每月记录

时间:2016-12-07 11:26:54

标签: python pandas

我有一个由以下列组成的DataFrame:ActualDate,Brand,Likes和Comments。 ActualDate包含YYYY-MM-DD格式的日期值,并且具有重复值。 Brand是一个字符串,而喜欢和评论是整数值。我希望将这些数据汇总为每周和每月格式,显示喜欢和评论的平均值。我尝试了以下代码,但遇到了一些问题。请帮忙。

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())

1 个答案:

答案 0 :(得分: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