2016-11-02 78 views
1

我有2個熊貓數據框架,其中一個框架由第一個修改過的選定行組成(他們有相似的列)。爲了簡單起見,下面的框架說明了這個問題。將修改的子框架嵌入原始框架

df1 =     df2 = 
     A B C     A B C 
0  1 2 3   1  20 30 40 
1  2 3 4   3  40 50 60 
2  3 4 5 
3  4 5 6 

是否有比下面的代碼更有效和pythonic的方式,通過覆蓋值嵌入df2到df1? (高維框架工作)

for index, row in df2.iterrows(): 
    df1.ix[index,:] = df2.ix[index, :] 

導致:

df1 = 
    A B C 
0 1 2 3 
1 20 30 40 
2 3 4 5 
3 40 50 60 
+1

'df1.update(DF2)'應該工作 – EdChum

回答

3

您可以使用update另一個DF,其中行和列標籤一致的值更新更新DF,你需要轉換到使用astypeint,因爲D型改爲浮動由於缺少值:

In [21]: 
df1.update(df2) 
df1 = df1.astype(int) 
df1 

Out[21]: 
    A B C 
0 1 2 3 
1 20 30 40 
2 3 4 5 
3 40 50 60 
+0

非常感謝。我檢查了它,這正是我需要的。 – amin