2
我拖數據框對象:如何使用Python中另一個DataFrame對象中的值更新DataFrame對象的一部分?
OBJ1:
header1 header2 header3 header4
1 A someValue1 someValue5
2 B someValue2 someValue6
3 C someValue3 someValue7
4 D someValue4 someValue8
OBJ 2:
header1 header2 header3 header4
1 E someValue9 someValue13
2 F someValue10 someValue14
3 G someValue11 someValue15
4 H someValue10 someValue16
我想更新obj1
是守在列header1
和header2
的值,並設置列header3
和header4
至obj2
中的值。
例如:
header1 header2 header3 header4
1 A someValue9 someValue13
2 B someValue10 someValue14
3 C someValue11 someValue15
4 D someValue10 someValue16
我已經試過是:
for ID in obj2.header2:
obj1[obj1.header1==ID].header3 = obj2[obj2.header1==ID].header3
obj1[obj1.header1==ID].header4 = obj2[obj2.header1==ID].header4
然而,這並不在obj1
改變什麼,但它仍然與上面相同的代碼之前。
有沒有一種很好的方法來實現我的目標?
請注意,範例是抽象的,真正的ID
(AKA header1
)可能不是1對1 obj1
和obj2
匹配。所以一些ID不需要更新。例如,obj1
具有ID 1,2,3,4,5,並且obj2
具有ID 2,3,4,5。因此obj1
中的ID 1不一定要更新。
非常感謝。
您好,謝謝您的回答。但是,就我而言,一些ID不需要更新。有沒有一個乾淨的方式來做到這一點?非常感謝。 – ChangeMyName
我想我不明白。你的意思是一些值是相同的,所以更新沒有必要? – jezrael
這樣的排序,例如,我有ID:1,2,3,4,5在'obj1'和'obj2'中的ID是2,3,4,5。在這種情況下,只有2, 'obj1'中的3,4,5在'obj2'中有相應的記錄來使用。因此,只有ID 2,3,4,5在'obj1'中被更新。 – ChangeMyName