在python中组合数据帧

时间:2018-05-25 22:15:28

标签: python json pandas dataframe merge

我创建了json文件中的一些货币。例如

[{"AUD":"2.8681"},{"AUD":"2.8667"},...], [{"BRL":"1.1607"}, {"BRL":"1.1645"},...].

import json
 import pandas as pd
 with open('AUD.json') as f:
    AUD = json.load(f)
 with open("BRL.json") as f:
    BRL=json.load(f)
 df = pd.DataFrame.from_dict(AUD)
 df2= pd.DataFrame.from_dict(BRL)
 print(df+df2)

输出

 AUD  BRL
0    NaN  NaN
1    NaN  NaN
2    NaN  NaN
       ...

我想要的是

 AUD  BRL
0    2.8681  1.1607
1    2.8667  1.1645
2    2.8679  1.1634
     ...

提前感谢您的解决方案;)

编辑: print df.head() AUD 0 2.8681 1 2.8667 2 2.8738 3 2.8589 4 2.8598 df2.head()也很好用 print(pd.concat([df,df2]) 输出

AUD BRL 0 2.8681 NaN 1 2.8667 NaN ... 124 NaN 1.0299 125 NaN 1.033

2 个答案:

答案 0 :(得分:0)

你犯了一个小错误,你想做的是

pd.concat([df, df2], axis=1)

答案 1 :(得分:0)

你需要:

pd.concat([df,df2], axis=1)

输出将为以下形式:

       AUD  BRL
0   2.8681  2.8681
1   2.8667  2.8667
2   2.8738  2.8738
3   2.8589  2.8589
4   2.8598  2.8598