[英]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.