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/

输入-不规则间隔(约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)
您可以使用
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