当连接不同索引的数据帧时,Nan会产生结果

时间:2017-05-09 12:53:36

标签: pandas

我有3个数据帧我想连接维护df1的索引。

df1:                      
       sq/ft               

R     0.026715            
A    -0.016556            
P     0.007440      
V     0.009841 


 df2:  
       ml/sq

0     0.032394
1     0.065046
2     0.009021
3     0.041041

df3:
       mlsq/rt
0     0.000871
1    -0.000148
2     0.000484
3     0.026715  

所需的输出将是这样的:

       sq/ft         ml/sq     mlsq/rt           

R     0.026715     0.032394   0.000871       
A    -0.016556     0.065046  -0.000148
P     0.007440     0.009021   0.000484
V     0.009841     0.041041   0.026715  

这是我在pandas doc之后尝试过的: http://pandas.pydata.org/pandas-docs/stable/merging.html#set-logic-on-the-other-axes

print(pd.concat([df2,df1,df3], axis=1, join_axes=[df1.index]))

其中3个是df,我当前的输出是

      ml/sq         sq/ft

R      NaN       0.026715
A      NaN      -0.016556
P      NaN       0.007440
V      NaN       0.009841

df3它甚至不作为输出返回。

1 个答案:

答案 0 :(得分:1)

我认为你需要对齐索引 - 最简单的是df2.indexdf3.index df1.index设置索引:

df2.index = df1.index
df3.index = df1.index
print(pd.concat([df2,df1,df3], axis=1))