输入-一年的天气数据不定期(约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/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)
您可以
.resample()
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
如果您的
datetime
实际上是type
string
,则可以首先:df['datetime'] = pd.to_datetime(df.datetime)
df.set_index('datetime', inplace=True)
关于python - 如何使用 Pandas 将不一致的时间戳取整为五分钟的间隔并填补空白?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34912491/