2015-08-21 148 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個 –

相關問題