簡體   English   中英

Pandas dataframe 條件列更新基於另一個 dataframe

[英]Pandas dataframe conditional column update based on another dataframe

我有兩個數據框,每個數據框有兩列 - 'MeetingId' 和 'TAB'。 第一個 dataframe 是完整的表格,但它在“TAB”列中有一些錯誤。 第二個dataframe有錯誤的解決方法。 如果“MeetingId”匹配,我想用第二個 datafrmae 的“TAB”列替換第一個 dataframe 的“TAB”列。

表格示例:

MeetingId    TAB
123          TRUE
124          FALSE

代碼:

df1 = meetingdf1
df1.set_index("MeetingId")
df2 = meetingdf2
df2.set_index("MeetingId")
df1.update(df2)
print(df1)
df['TAB'] = df.apply(lambda x: df2[df2['MeetingId'] == x['MeetingId']]['TAB'].values[0], axis=1)

要么

df.loc[df['MeetingId'].isin(df2['MeetingId']), 'TAB'] = df2['TAB']

例子:

> df

   MeetingId    TAB
0        123   True
1        124  False

> df2

   MeetingId    TAB
0        123  False
1        124   True
2        125  False

運行上面的代碼后 Output:

> df

   MeetingId    TAB
0        123  False
1        124   True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM