Python 无法使用所需索引重新索引数据帧

Python 无法使用所需索引重新索引数据帧,python,pandas,data-analysis,Python,Pandas,Data Analysis,我在熊猫中有一个数据帧df,如下所示: signal1 timestamp 2017-08-23 21:30:00.012 181643.0 2017-08-23 21:31:00.002 181635.0 2017-08-23 21:32:00.003

我在熊猫中有一个数据帧df,如下所示:

                                         signal1
timestamp                                       
2017-08-23 21:30:00.012                 181643.0
2017-08-23 21:31:00.002                 181635.0
2017-08-23 21:32:00.003                 181630.0
2017-08-23 21:33:00.006                 181611.0
2017-08-23 21:34:00.002                 181644.0
df = df.reindex(indexes)
我有如下索引:

[2017-08-23 14:30:00-07:00, 2017-08-23 14:31:00-07:00, 2017-08-23 14:32:00-07:00, 2017-08-23 14:33:00-07:00, 2017-08-23 14:34:00-07:00, 2017-08-23 14:35:00-07:00]  
现在,如果我像这样重新索引df:

                                         signal1
timestamp                                       
2017-08-23 21:30:00.012                 181643.0
2017-08-23 21:31:00.002                 181635.0
2017-08-23 21:32:00.003                 181630.0
2017-08-23 21:33:00.006                 181611.0
2017-08-23 21:34:00.002                 181644.0
df = df.reindex(indexes)
输出为:

timestamp                                    signal1
2017-08-23 14:30:00-07:00                      NaN
2017-08-23 14:31:00-07:00                      NaN
2017-08-23 14:32:00-07:00                      NaN
2017-08-23 14:33:00-07:00                      NaN
2017-08-23 14:34:00-07:00                      NaN
2017-08-23 14:35:00-07:00                      NaN
我希望输出为:

signal_name                                    signal1
2017-08-23 14:30:00-07:00                      181643.0
2017-08-23 14:31:00-07:00                      181643.0
2017-08-23 14:32:00-07:00                      181643.0
2017-08-23 14:33:00-07:00                      181643.0
2017-08-23 14:34:00-07:00                      181643.0
2017-08-23 14:35:00-07:00                        NaN
我不明白为什么它没有正确地重新编制索引。

该怎么办

使系列符合新索引,可选填充逻辑,放置 前一个索引中没有值的位置中的NA/NaN

意思是说之前的索引中没有2017-08-23 14:30:00-07:00,所以是NaN。 如果您有2017-08-23 21:30:00.012或其他原始索引,则会更改数据和索引的映射

是不可变的对象

实现有序、可切片集的不可变ndarray。基本的 对象存储所有对象的轴标签

因此,您需要使用新索引和原始数据创建一个新实例

序列数据=原始数据,索引=新索引


Dataframedata=origin\u data,index=new\u index

From:使用可选填充逻辑将DataFrame与新索引一致,将NA/NaN放在上一个索引中没有值的位置。。在给定的时间戳上没有signal1的值。似乎您只想重置索引。不重新编制索引。重置索引不会做你想做的事情。索引对象是不可变的。如果你仔细看,所需的索引会偏移7小时。因此,它们的索引与原始索引相同。唯一的区别是一个精度为毫秒,另一个精度为分钟。