我有2個數據幀,它們具有相同的列。我想在關鍵列上合併(或連接)這些數據幀,如果兩者之間存在關鍵匹配,它只更新匹配行的單個列,否則它將行附加到第一個/舊數據幀。合併具有條件的兩個數據幀以更新列或追加行
例Psudeocode:
for row in new_dataset:
if new_dataset['key'] == old_dataset['key']:
old_dataset['last_seen'] = new_dataset['last_seen']
else:
append row to old_dataset
示例輸入:
DF1
Key First_Seen Last_Seen Data Data
Bigfoot 2015 2015 Blah Blah
Loch_Ness 2016 2016 Blah Blah
UFO 2016 2004 Blah Blah
DF2
Key First_Seen Last_Seen Data Data
UFO 2017 2017 Blah Blah
Tupac 2017 2017 Blah Blah
所需的輸出:
DF3
Key First_Seen Last_Seen Data Data
Bigfoot 2015 2015 Blah Blah
Loch_Ness 2016 2016 Blah Blah
UFO 2016 2017 Blah Blah
Tupac 2017 2017 Blah Blah
編輯:我試過幾種方法,包括:與主要的指標加入,做一個合併右上顯式調用列鍵,然後合併留給追加非匹配值。我面臨的問題是合併要麼合併所有列,要麼創建一個完全重複的df,要麼當我顯式調用列時,它不允許匹配熊貓系列的數據框。當我向正常化上使用列呼叫2系列中,我也沒有辦法恢復回其匹配合並具體的行等
'pd.concat'然後'drop_duplicate' – Wen
這並不適當地更新first_seen和last_seen列,而且會有數據丟失 – itotallyforgot
歡迎堆棧溢出,@itotallyforgot。對於那些希望爲您提供答案的人來說,這可能會有所幫助,從而知道您已經嘗試了什麼,以及它如何無法正常工作。 – Degan