假设我有一个日期时间索引idx1
:
['2023-06-02',
'2023-06-04',
'2023-06-06',
'2023-06-08',
'2023-06-10',
'2023-06-12']
idx2
:
['2023-06-03',
'2023-06-08']
我想构造一个以idx1
作为索引的序列,值是与idx2
最近的索引值,所以:
2023-06-02 '2023-06-03'
2023-06-04 '2023-06-03'
2023-06-06 '2023-06-08'
2023-06-08 '2023-06-08'
2023-06-10 '2023-06-08'
2023-06-12 '2023-06-08'
或例如bfill:
2023-06-02 NaN
2023-06-04 '2023-06-03'
2023-06-06 '2023-06-03'
2023-06-08 '2023-06-08'
2023-06-10 '2023-06-08'
2023-06-12 '2023-06-08'
或填充:
2023-06-02 '2023-06-03'
2023-06-04 '2023-06-08'
2023-06-06 '2023-06-08'
2023-06-08 '2023-06-08'
2023-06-10 NaN
2023-06-12 NaN
基本上是pandas.Series.reindex
中的任何可用选项。
我该如何构建这样一个系列?
类似的问题对于其他索引数据类型,如数字索引等.
1条答案
按热度按时间e3bfsja21#
下面是一种使用
pd.merge_asof
的 numeric 索引的方法:1.将索引转换为系列(
pd.Index.to_series
)并添加名称(Series.rename
)。1.使用
pd.merge_asof
,合并索引并将direction
参数设置为所需的值,然后选择列s2
(即idx2
的值)。使用列表理解:
图纸:
请注意文档中的以下声明(原件大写):
数据必须有序。此外,这必须是一个数字列,如datetimelike、integer或float。