Pandas/Python:查找时间序列中的缺失值,插入新的时间戳和缺失值的 nan 值

我创建了以下数据框:


import pandas as pd


d = {'T': [1, 2, 4, 15], 'H': [3, 4, 6, 8]}

df = pd.DataFrame(data=d, index=['10.09.2018  13:15:00','10.09.2018  13:30:00', '10.09.2018  14:00:00', '10.09.2018  22:00:00'])

df.index = pd.to_datetime(df.index)

并得到如下结果。


Out[30]: 

                      T  H

2018-10-09 13:15:00   1  3

2018-10-09 13:30:00   2  4

2018-10-09 14:00:00   4  6

2018-10-09 22:00:00  15  8

如您所见,在 13:45:00 缺少一个值,在 14:00 和 22:00 之间缺少很多值。


有没有一种方法可以自动查找缺失值,插入带有缺失时间戳的行和缺失时间的 nan 值?


我想实现这个:


Out[30]: 

                      T  H

2018-10-09 13:15:00   1  3

2018-10-09 13:30:00   2  4

2018-10-09 13:45:00  nan nan

2018-10-09 14:00:00   4  6

2018-10-09 14:15:00  nan nan

...

2018-10-09 21:45:00  nan nan

2018-10-09 22:00:00  15  8


慕森卡
浏览 100回答 1
1回答

qq_遁去的一_1

您可以使用正确的时间步长创建第二个数据帧作为索引,并将其与原始数据连接起来。以下代码适用于我的情况# your codeimport pandas as pdd = {'T': [1, 2, 4, 15], 'H': [3, 4, 6, 8]}df = pd.DataFrame(data=d, index=['10.09.2018  13:15:00','10.09.2018  13:30:00', '10.09.2018  14:00:00', '10.09.2018  22:00:00'])df.index = pd.to_datetime(df.index)# generate second dataframe with needed indextimerange = pd.date_range('10.09.2018  13:15:00', periods=40, freq='15min')df2 = pd.DataFrame(index=timerange)# join the original dataframe with the new onenewdf = df.join(df2, how='outer')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python