输入-一年的天气数据不定期(约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/

10-10 18:40
查看更多