2015-08-21 101 views
1

我有两个dataframes,df1加入两个熊猫数据框,其索引为第一个?

column1  column2 
0 A   B 
1 A   A 
2 C   A 
3 None  None 
4 None  None 

df2

id   l 
40 100005090 A 
188 100020985 B 

现在我想加入df1df2,但我不知道如何搭配指数。如果我只是做df1.join(df2),指数是对齐到df2。也就是说,它找到了df2的第40个条目,现在是数据框的第一个条目,从40开始(df1)。我如何告诉熊猫将索引对齐到df1,这意味着df2的第一个条目实际上是索引40?也就是说,我想获得:

id   l column1  column2 
40 100005090 A   A   B 
188 100020985 B   A   A 
... 

回答

1

你可以把你的DF一片是相同长度df1,则可以覆盖索引值,然后join

In [174]:  
sub = df.iloc[:len(df1)] 
sub.index = df1.index 
df1.join(sub) 

Out[174]: 
      id l column1 column2 
40 100005090 A  A  B 
188 100020985 B  A  A 

如果dfs的长度相同,那么不需要第一行,只需使用其他df的索引值覆盖索引即可。

+0

埃德,他们已经是相同的长度。任何更短的解决方案,只是为了它的? –

+0

如果它们的长度相同,则不需要第一行,您只需要覆盖其他df – EdChum

+0

的索引,谢谢。还有5个 –

相关问题