基于Python Pandas将时间转为12小时间隔并计算温度均值
解决按12小时时间间隔计算温度均值的问题
嘿,这个需求用Pandas的时间序列重采样功能就能轻松搞定,我来一步步给你说怎么操作:
首先,咱们得确保时间数据的格式是对的——Pandas得识别它是时间类型,不然没法按时间间隔分组。如果你的time列还不是datetime格式,先转一下:
import pandas as pd # 假设你的原始数据存在df变量里 df['time'] = pd.to_datetime(df['time'])
接下来,把时间列设为DataFrame的索引,这样Pandas才能用时间序列的相关功能:
df = df.set_index('time')
现在核心操作来了——用resample按12小时间隔分组,然后计算每个组的均值:
# 默认是从午夜0点开始划分12小时间隔(00:00-12:00,12:00-00:00) twelve_hour_mean = df['measurement'].resample('12H').mean()
要是你不想从午夜开始,想自定义间隔的起始时间(比如从你示例里第一个测量的8点左右开始),可以加个origin参数指定起始点:
# 比如把间隔起始设为2016-11-04 08:00:00 twelve_hour_mean = df['measurement'].resample('12H', origin='2016-11-04 08:00:00').mean()
这样得到的twelve_hour_mean就是一个新的Series(你也可以用to_frame()转成DataFrame),索引是每个12小时间隔的起始时间,值是对应间隔内温度测量的均值。
对了,要是你的DataFrame本来就已经把time设为索引了,那前面设置索引的步骤就可以跳过,直接用resample就行~
内容的提问来源于stack exchange,提问作者Jonas Phillip Nielsen
相关产品推荐
相关产品推荐

