我在pandas
中有一个数据帧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
我有如下索引:
[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
:
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
我不明白为什么它没有正确地重新索引。你知道吗
reindex要做的是
意思是在上一个索引中没有
2017-08-23 14:30:00-07:00
,所以它是NaN。 如果您有2017-08-23 21:30:00.012
或其他原始索引,它将更改数据和索引的映射。你知道吗Index是不可变对象。你知道吗
因此,您需要使用新索引和原始数据创建一个新实例。你知道吗
Series(data=origin_data, index=new_index)
或者
Dataframe(data=origin_data, index=new_index)
相关问题 更多 >
编程相关推荐