我有两个数据帧:
>>>import import pandas as pd
>>>df1:
DD_PRICE
DATE
2013-09-19 20:55:00 3.516
2013-09-19 20:55:00 3.516
2013-09-19 20:55:00 3.516
2013-09-19 20:55:00 -4.476
>>>df2:
CAPI_PRICE
DATE
2013-09-19 20:55:00 3.516
2013-09-19 20:55:00 3.516
2013-09-19 20:55:00 3.516
2013-09-19 20:55:00 -4.476
现在我跑的时候:
joint_df = df1.join((df2), how='outer')
joint_df
看起来像这样:
DD_PRICE CAPI_PRICE
DATE
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 -4.476
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 -4.476
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 -4.476
2013-09-19 20:55:00 -4.476 3.516
2013-09-19 20:55:00 -4.476 3.516
2013-09-19 20:55:00 -4.476 3.516
2013-09-19 20:55:00 -4.476 -4.476
这不是我想要的......
理想情况下,我希望joint_df
看起来像这样:
DD_PRICE CAPI_PRICE
DATE
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 -4.476 -4.476
我如何完成这项工作?尝试了merge
和join
参数的不同组合,但我无法让它工作!
答案 0 :(得分:1)
似乎你只能使用concat
- 默认情况下有外连接:
df = pd.concat([df1, df2], axis=1)
print (df)
DD_PRICE CAPI_PRICE
DATE
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 3.516 3.516
2013-09-19 20:55:00 -4.476 -4.476
答案 1 :(得分:0)
您可以尝试在第一个数据框上添加一个新列,方法是从第二个数据框中复制它,如下所示:
df1['CAPI_PRICE']=df2['CAPI_PRICE']