Python 使用另一个时间序列的索引对一个时间序列重新采样

Python 使用另一个时间序列的索引对一个时间序列重新采样,python,indexing,pandas,time-series,resampling,Python,Indexing,Pandas,Time Series,Resampling,我有两个数据帧,它们的列相同,但日期时间索引不同。我想对其中一个进行重采样,以使用另一个的索引,并在另一个索引中没有数据的任何日期转发来自该索引的填充数据 import pandas as pd import numpy as np from datetime import datetime as dt a_values = np.random.randn(4, 4) a_index = [dt(2012, 3, 16), dt(2012, 3, 19), dt(2012, 3, 20), d

我有两个数据帧,它们的列相同,但日期时间索引不同。我想对其中一个进行重采样,以使用另一个的索引,并在另一个索引中没有数据的任何日期转发来自该索引的填充数据

import pandas as pd
import numpy as np
from datetime import datetime as dt

a_values = np.random.randn(4, 4)
a_index = [dt(2012, 3, 16), dt(2012, 3, 19), dt(2012, 3, 20), dt(2012, 3, 21)]
a = pd.DataFrame(data=a_values, index=a_index)

b_values = np.trunc(np.random.randn(3, 4) * 1000)
b_index = [dt(2012, 3, 16), dt(2012, 3, 19), dt(2012, 3, 21)]
b = pd.DataFrame(data=b_values, index=b_index)

c_insert = a.ix['2012-03-20']
c = b.append(c_insert).sort()
c.ix['2012-03-20'] = c.ix['2012-03-19']
“a”表示要将其索引用作重采样引用的数据帧b'表示我要重新采样并转发填充数据的数据帧。'c'代表我希望结果的样子

请注意,“b”缺少“a”中存在的“2012-03-20”索引c'用索引'2012-03-19'的'b'中的数据填充索引'2012-03-20'的列

熊猫是否具有执行此操作的功能

提前谢谢


PiR

要通过参考索引重新采样,请使用
reindex

In [11]: b.reindex(a.index, method='ffill')
Out[11]: 
               0     1     2     3
2012-03-16  -926  -625   736   457
2012-03-19 -1024   742   732 -1020
2012-03-20 -1024   742   732 -1020
2012-03-21  1090 -1163  1652   -94

您也可以使用:
b.reindex\u like(a,method='ffill')
。但是如果数据帧具有不同的列,则
reindex\u like
将产生不同的效果!如果只想更改索引,请使用
reindex