如何基于另一DataFrame的ID匹配结果为pandas DataFrame新增列
实现Pandas两个DataFrame的ID存在性校验
要实现该需求,直接使用pandas内置的isin()方法即可,一行代码就能完成:df_A['df_b_presence'] = df_A['ID'].isin(df_B['ID'])
isin()方法会逐个校验df_A中ID列的每个值是否存在于df_B的ID列中,匹配返回True,不匹配返回False,直接赋值给新增的df_b_presence列就可得到预期结果。
完整测试代码如下:
import pandas as pd import numpy as np # 构造样例df_A df_A = pd.DataFrame({ 'ID': [5,6,7,8,9,10], 'color': ['red', 'blue', 'blue', np.nan, 'green', np.nan] }) # 构造样例df_B df_B = pd.DataFrame({ 'ID': [7,9,24,1,11,10], 'characteristic': ['tall', 'short', 'short', 'tall', 'medium', 'tall'] }) # 核心逻辑 df_A['df_b_presence'] = df_A['ID'].isin(df_B['ID']) # 打印结果 print(df_A)
内容的提问来源于stack exchange,提问作者mmkb
相关产品推荐
相关产品推荐

