Resample a time series with the index of another time series(使用另一个时间序列的索引重新采样一个时间序列)
问题描述
我有 2 个具有相同列但不同日期时间索引的数据框.我想重新采样其中一个以使用另一个的索引,并在另一个索引中没有数据的任何日期从一个转发填充数据.
I have 2 data frames with identical columns but different datetime indices. I want to resample one of them to use the index of the other and forward fill data from the one on any dates in the index of the other in which there wasn't data for.
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' 代表我想要的结果.
'a' represents the data frame whose index I'd like to use as the resampling reference. 'b' represents the data frame I'd like to resample and forward fill data. 'c' represents what I'd like the results to look like.
请注意,b"缺少a"中存在的2012-03-20"索引.c"使用索引2012-03-19"的b"列中的数据填充索引2012-03-20"的列
Notice that 'b' is missing the '2012-03-20' index that exists in 'a'. 'c' populates the columns for index '2012-03-20' with the data in the columns from 'b' for index '2012-03-19'
pandas 是否具有执行此操作的功能.
Does pandas have the functionality to do this.
提前致谢.
皮尔
推荐答案
要通过引用索引重新采样,请使用 reindex.
To resample by a reference index, use 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
这篇关于使用另一个时间序列的索引重新采样一个时间序列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用另一个时间序列的索引重新采样一个时间序
基础教程推荐
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
