[英]Join Two Dataframes
我有兩個數據集,進入兩個數據幀
NAB.AX CBA.AX
Close Volume Close
Date Date
2013-10-02 06:52:32 36.51 4962900 2013-10-02 06:52:32.082622 21.95
如您所見,日期格式略有不同。 如何使用日期索引合並兩個數據框。 所以基本上用
2013-10-02 06:52:32
並忽略
.082622
您可以將第二個DataFrame的索引重新分配為numpy datetime64[s]
值:
df2.index = df2.index.values.astype('datetime64[s]')
例如,
In [58]: df1 = pd.DataFrame({'Close':36.51}, index=pd.DatetimeIndex(['2013-10-02 06:52:32'])); df1
Close
2013-10-02 06:52:32 36.51
In [78]: df2 = pd.DataFrame({'Close':[21.95, 22.95, 23.95]}, index=pd.DatetimeIndex(['2013-10-02 06:52:32.082622', '2013-10-02 06:52:32.09', '2013-10-03 06:52:33.09'])); df2
Out[78]:
Close
2013-10-02 06:52:32.082622 21.95
2013-10-02 06:52:32.090000 22.95
2013-10-03 06:52:33.090000 23.95
In [79]: df2.index = df2.index.values.astype('datetime64[s]'); df2
Out[79]:
Close
2013-10-02 06:52:32 21.95
2013-10-02 06:52:32 22.95
2013-10-03 06:52:33 23.95
In [80]: df1.join(df2, lsuffix='NAB', rsuffix='_CBA')
Out[80]:
CloseNAB Close_CBA
2013-10-02 06:52:32 36.51 21.95
2013-10-02 06:52:32 36.51 22.95
或者,如果您希望將所有鍵都保留在兩個索引中,請使用外部聯接:
In [81]: df1.join(df2, lsuffix='NAB', rsuffix='_CBA', how='outer')
Out[81]:
CloseNAB Close_CBA
2013-10-02 06:52:32 36.51 21.95
2013-10-02 06:52:32 36.51 22.95
2013-10-03 06:52:33 NaN 23.95
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.