python - 如何使用 Pandas 将不一致的时间戳舍入到五分钟间隔并填补空白?

标签 python pandas time weather

输入 - 一年的不定期天气数据(约 5 分钟) 期望输出 - 一年定期 5 分钟间隔的天气数据

我正在尝试清理一年的天气数据,并想以此为契机来探索Python和Pandas的使用。这是一个 future 需要重复的过程,并且自动化是非常可取的!

输入示例

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

如果您的日期时间实际上是类型字符串,您可以首先:

df['datetime'] = pd.to_datetime(df.datetime)
df.set_index('datetime', inplace=True)

关于python - 如何使用 Pandas 将不一致的时间戳舍入到五分钟间隔并填补空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912491/

相关文章:

bash - 如何在执行过程中从/usr/bin/time输出到正确位置的文件?

ruby-on-rails - 如何检查 Ruby 中的变量是日期还是时间还是日期时间?

python - 在python中运行excel宏并保存结果

python - 如何在Python(Caffe)中访问iter_size变量?

python - 如何将字符串标签转换为数值

python - 如何在 Pandas 中高效处理时间序列数据

python - Cython 无法正常工作,无法诊断问题

python - 如何在 Python 中进行多元回归分析?

python - 根据列值选择用户 - pandas dataframe

java - 如何将 'dd/mm/yyyy hh:mm:ss am/pm' 转换为 hh :mm:ss (without am or pm) in java?