Python 我如何使用Pandas将不一致的时间戳舍入到五分钟的间隔并填补空白?
输入-不规则间隔(约5分钟)的一年天气数据 期望输出-定期间隔5分钟的一年天气数据 我正在尝试清理一年的天气数据,并希望借此机会探索Python和Pandas的使用。这是一个需要在将来重复的过程,自动化是非常可取的 输入样本Python 我如何使用Pandas将不一致的时间戳舍入到五分钟的间隔并填补空白?,python,pandas,time,weather,Python,Pandas,Time,Weather,输入-不规则间隔(约5分钟)的一年天气数据 期望输出-定期间隔5分钟的一年天气数据 我正在尝试清理一年的天气数据,并希望借此机会探索Python和Pandas的使用。这是一个需要在将来重复的过程,自动化是非常可取的 输入样本 2/2/2015 8:03 43.5 2/2/2015 8:08 43.4 0 2/2/2015 8:13 43.3 0 2/2/2015 8:18 43.2 7 2/2/2015 8:28 43.1 9 2/2/
2/2/2015 8:03 43.5
2/2/2015 8:08 43.4 0
2/2/2015 8:13 43.3 0
2/2/2015 8:18 43.2 7
2/2/2015 8:28 43.1 9
2/2/2015 8:33 43 11
2/2/2015 8:38 43 9
2/2/2015 8:43 43 11
输出样本
2/2/2015 8:00 43.5
2/2/2015 8:05 43.4 0
2/2/2015 8:10 43.3 0
2/2/2015 8:15 43.2 7
2/2/2015 8:20 N/A N/A
2/2/2015 8:25 43.1 9
2/2/2015 8:30 43 11
2/2/2015 8:35 43 9
2/2/2015 8:40 43 11
谢谢你的帮助/建议 从以下内容开始:
A B
datetime
2015-02-02 08:03:00 43.5 NaN
2015-02-02 08:08:00 43.4 0
2015-02-02 08:13:00 43.3 0
2015-02-02 08:18:00 43.2 7
2015-02-02 08:28:00 43.1 9
2015-02-02 08:33:00 43.0 11
2015-02-02 08:38:00 43.0 9
2015-02-02 08:43:00 43.0 11
2015-02-02 09:00:00 43.1 9
DatetimeIndex: 8 entries, 2015-02-02 08:03:00 to 2015-02-02 08:43:00
Data columns (total 2 columns):
A 8 non-null float64
B 7 non-null float64
dtypes: float64(2)
您可以使用DateTimeIndex
:
df.resample('5Min')
A B
datetime
2015-02-02 08:00:00 43.5 NaN
2015-02-02 08:05:00 43.4 0
2015-02-02 08:10:00 43.3 0
2015-02-02 08:15:00 43.2 7
2015-02-02 08:20:00 NaN NaN
2015-02-02 08:25:00 43.1 9
2015-02-02 08:30:00 43.0 11
2015-02-02 08:35:00 43.0 9
2015-02-02 08:40:00 43.0 11
2015-02-02 08:45:00 NaN NaN
2015-02-02 08:50:00 NaN NaN
2015-02-02 08:55:00 NaN NaN
2015-02-02 09:00:00 43.1 9
如果您的日期时间
实际上是类型
字符串
,您可以首先:
df['datetime'] = pd.to_datetime(df.datetime)
df.set_index('datetime', inplace=True)
前两列的数据类型是什么?它们是字符串、日期时间还是其他?所有数据都是从.csv或.xlsx文件中提取的。感谢Stefan,它负责将类型转换为日期时间,并舍入到5分钟的间隔。有没有想过检查数据中的缺口,并在存在缺口的地方插入时间戳?工作起来很有魅力-谢谢@Stefan