首页 > 解决方案 > 根据日期合并数据框

问题描述

我想合并 2 个数据框。

第一个数据框如下所示:

Date    Value
1968-04-01  38.0
1968-04-02  37.6
1968-04-03  37.7
1968-04-04  36.7
1968-04-05  37.2
1968-04-08  37.0
1968-04-09  37.25
1968-04-10  37.6

第二个数据框如下所示:

1991-06-21  4.44
1991-06-22  4.39
1991-06-24  4.39
1991-06-25  4.37
1991-06-26  4.41
1991-06-27  4.36

这两个数据集都到了今天。

如何创建一个在 1991 年开始数据的新数据框,因为那是第二个数据集的开始位置?并且每个价格都有一列。

我试过了:

df_all_rows = pd.concat([df1, df2])

但这只是将一组数据置于另一组数据之下。

我想目前数据还没有到今天。但是我怎样才能创建一个只有两个系列都有的日期的新数据框呢?

这是我所拥有的:

import numpy as np
import pandas as pd
import pickle
import quandl
from datetime import datetime

df1=quandl.get("BUNDESBANK/BBK01_WT5511", authtoken="6F92X3NEV8DdrhAc_d5_")
df2=quandl.get("PERTH/SLVR_USD_D", authtoken="6F92X3NEV8DdrhAc_d5_")
df2=df2.dropna()

T1 = pd.merge(df1, df2, on=df1.index, how='inner')

标签: pythondataframemergeconcat

解决方案


尝试:

import pandas as pd
merge=pd.merge(df1,df2, how='inner', left_index=True, right_index=True)

您可以更改与how参数合并的方式。请参阅此处了解有关加入的更多信息


推荐阅读