亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 map 函數根據唯一 ID 將數據從 1 個數據集復制到另一個數據集

通過 map 函數根據唯一 ID 將數據從 1 個數據集復制到另一個數據集

眼眸繁星 2022-06-02 10:08:22
我正在匹配兩個大型數據集,并嘗試通過將原始數據集與其他數據集進行比較來執行更新、刪除和創建操作。如何更新原始數據集中 10 列中的 2 或 3 列并保持其他列的值與以前相同?我嘗試合并但無濟于事。合并對我不起作用。原始數據:id | full_name   |   date1  | John        |   02-23-20062  | Paul Elbert |   09-29-20013  | Donag       |   11-12-20134  | Tom Holland |   06-17-2016其他數據:id | full_name  |   date1  | John       |   02-25-20182  | Paul       |   03-09-20013  | Donag      |   07-09-20174  | Tom        |   05-09-2016在嘗試了這個之后,我手動檢查了我沒有得到預期的結果。original[['id']].merge(other[['id','date']],on='id')我可以用地圖解決這個問題嗎?當 ID 匹配時,更新日期列中的所有值,而不更改原始數據集名稱列中的任何值
查看完整描述

2 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

使用pandas.Series.map:


df['date']=df['id'].map(other_df.set_index('id ')['date'])

print(df)


  id    full_name              date

0    1   John             02-25-2018

1    2   Paul Elbert      03-09-2001

2    3   Donag            07-09-2017

3    4   Tom Holland      05-09-2016

檢查其他條件:


cond=df.status.str.contains('new')  

df.loc['date',cond]=df.loc['id',cond].map(other_df.set_index('id ')['date'])


查看完整回答
反對 回復 2022-06-02
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

DataFrame.update如果您在和上正確設置id為索引, Pandas就會這樣做:originalother

original.update(other[["date"]])


查看完整回答
反對 回復 2022-06-02
  • 2 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號