Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中合并两个数据帧,将日期从一个数据帧线性插值到另一个数据帧_Python_Pandas_Dataframe_Linear Interpolation - Fatal编程技术网

在Python中合并两个数据帧,将日期从一个数据帧线性插值到另一个数据帧

在Python中合并两个数据帧,将日期从一个数据帧线性插值到另一个数据帧,python,pandas,dataframe,linear-interpolation,Python,Pandas,Dataframe,Linear Interpolation,我有两个不同的数据帧。一个是包含日期和值的“值”列表。第二个数据帧是日期的数据帧,位于数据帧1的日期之间。我想合并2个数据帧,并将数据帧1中的值插值到数据帧2中的值 我尝试了以下方法: sample_final= sample_set_1.merge(sample_set_2, how='right').set_index('Maturity').interpolate() 但是它不起作用!我在兜圈子 感谢您的帮助 谢谢 Maturity DF 2019-04-11 1.0 2019

我有两个不同的数据帧。一个是包含日期和值的“值”列表。第二个数据帧是日期的数据帧,位于数据帧1的日期之间。我想合并2个数据帧,并将数据帧1中的值插值到数据帧2中的值

我尝试了以下方法:

sample_final= sample_set_1.merge(sample_set_2, how='right').set_index('Maturity').interpolate()

但是它不起作用!我在兜圈子

感谢您的帮助

谢谢

Maturity DF 2019-04-11 1.0 2019-04-12 0.999933 2019-04-15 0.999732 2019-04-16 0.9996649999999999 2019-04-23 0.9991969999999999 2019-04-29 0.9987959999999999 2019-05-06 0.9983290000000001 2019-05-15 0.9977290000000001 2019-06-17 0.995532 2019-07-15 0.99369 2019-08-15 0.991663 2019-09-16 0.989582 2019-10-15 0.987725 2019-11-15 0.985764 2019-12-16 0.98383 2020-01-15 0.9819899999999999 2020-02-18 0.979935 2020-03-16 0.9783209999999999 2020-04-15 0.97655 2020-07-15 0.971353 2020-10-15 0.96631 2021-04-15 0.9568610000000001 2022-04-19 0.938263 2023-04-17 0.9198 2024-04-15 0.9006190000000001 成熟度 2019-04-11 1.0 2019-04-12 0.999933 2019-04-15 0.999732 2019-04-16 0.9996649999999999 2019-04-23 0.9991969999999999 2019-04-29 0.9987959999999999 2019-05-06 0.9983290000000001 2019-05-15 0.9977290000000001 2019-06-17 0.995532 2019-07-15 0.99369 2019-08-15 0.991663 2019-09-16 0.989582 2019-10-15 0.987725 2019-11-15 0.985764 2019-12-16 0.98383 2020-01-15 0.9819899999999999 2020-02-18 0.979935 2020-03-16 0.9783209999999999 2020-04-15 0.97655 2020-07-15 0.971353 2020-10-15 0.96631 2021-04-15 0.9568610000000001 2022-04-19 0.938263 2023-04-17 0.9198 2024-04-15 0.9006190000000001 数据框架2: 成熟 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-17 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-18 2019-04-23 2019-04-23 2019-04-23 2019-04-23 2019-04-23 2019-04-24 2019-04-24 2019-04-24 2019-04-24 2019-04-24 2019-04-24 2019-04-24 2019-04-24 2019-04-25 2019-04-25 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-26 2019-04-29 2019-04-29 2019-04-30 2019-04-30 2019-04-30 2019-04-30 2019-04-30 2019-05-02 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-03 2019-05-07 2019-05-07 2019-05-07 2019-05-07 2019-05-07 2019-05-07 2019-05-08 2019-05-08 2019-05-08 2019-05-08 2019-05-09 2019-05-09 2019-05-09 2019-05-10 2019-05-10 2019-05-10 2019-05-10 2019-05-13 2019-05-13 2019-05-14 2019-05-14 2019-05-14 2019-05-14 2019-05-14 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-15 2019-05-16 2019-05-16 2019-05-16 2019-05-16 2019-05-16 2019-05-17 2019-05-17 2019-05-17 2019-05-20 2019-05-21 2019-05-21 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-22 2019-05-23 2019-05-23 2019-05-23 2019-05-23 2019-05-24 2019-05-24 2019-05-24 2019-05-28 2019-05-28 2019-05-29 2019-06-07 2019-06-07 2019-06-11 2019-06-13 2019-06-14 2019-06-18 2019-06-18 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-19 2019-06-20 2019-06-20 2019-06-20 2019-06-21 2019-06-25 2019-06-28 2019-06-28 2019-06-28 2019-06-28 2019-07-03 2019-07-11 2019-07-12 2019-07-12 2019-07-15 2019-07-15 2019-07-15 2019-07-15 2019-07-15 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-16 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-17 2019-07-19 2019-07-22 2019-07-22 2019-07-22 2019-07-24 2019-07-25 2019-08-21 2019-08-21 2019-09-06 2019-09-17 2019-09-18 2019-09-30 2019-10-02 2019-10-07 2019-10-16
假设您希望在当天进行线性插值:

df.Maturity = pd.to_datetime(df.Maturity)
df2.Maturity = pd.to_datetime(df2.Maturity)

# get the common date in the two data frames
common = df.merge(df2.drop_duplicates(), how='outer').set_index('Maturity')

# interpolate the value:
common = common.resample('d').interpolate().reset_index()

# merge
common.merge(df2, how='right')

dataframe2中有很多重复的日期,它们是否插值到相同的值?这是有意的,因为有重复的日期来自另一个数据集。当我运行上面的插值代码时,它们确实插值到相同的值,但是它们不能在日期之间正确插值。当你简洁地对它进行插值时,它看起来很容易!非常感谢你,这很好用!
df.Maturity = pd.to_datetime(df.Maturity)
df2.Maturity = pd.to_datetime(df2.Maturity)

# get the common date in the two data frames
common = df.merge(df2.drop_duplicates(), how='outer').set_index('Maturity')

# interpolate the value:
common = common.resample('d').interpolate().reset_index()

# merge
common.merge(df2, how='right')