【发布时间】:2020-08-07 14:52:56
【问题描述】:
我有以下数据框:
df_temperature_value = {'timestamp': ['2020-08-08 12:00:00', '2020-08-08 13:00:00', '2020-08-08 14:00:00',
'2020-08-09 12:00:00', '2020-08-09 13:00:00', '2020-08-09 14:00:00',
'2020-08-08 12:00:00', '2020-08-08 13:00:00', '2020-08-08 14:00:00',
'2020-08-09 12:00:00', '2020-08-09 13:00:00', '2020-08-09 14:00:00'],
'locations':[1,1,1,1,1,1,2,2,2,2,2,2,],
'value':[20,21,22,23,24,25,16,17,18,19,20,21]
}
df_temperature_value= pd.DataFrame(df_temperature_value)
df_temperature_value['timestamp'] = pd.to_datetime(df_temperature_value["timestamp"])
我在这里尝试实现的是找到每个重复时间戳的平均值。
快速示例:位置 1 在 2020-08-08 12:00:00 的值 = 20,而位置 2 在同一持续时间的值等于 16。所以我需要找到这段时间的平均值这将是 18 岁。
我的最终数据框应如下所示:
final_dataframe = {'timestamp': ['2020-08-08 12:00:00', '2020-08-08 13:00:00', '2020-08-08 14:00:00',
'2020-08-09 12:00:00', '2020-08-09 13:00:00', '2020-08-09 14:00:00'],
'average_values':[18,19,20,21,22,23]
}
final_dataframe = pd.DataFrame(final_dataframe)
我尝试做的是:
final_dataframe = df_temperature_value.set_index('timestamp').resample('H').min().reset_index()
但这并没有给我我想要的输出。最好的方法是什么。有pythonic的方式吗?提前感谢您的帮助。
【问题讨论】:
-
使用
df_temperature_value.groupby('timestamp')['value'].mean()。 -
@ShubhamSharma 非常感谢。这就是我所需要的。