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