我需要比较数据框和我的输出,如果在df中存在df1值,则将其保留,否则应将其替换为Out。例如Level_count中的列值应类似于L1,L1,L1,L2,L2,L2,L2,Out,Out,Out(因为L3和l4不在df1中),就像我需要比较Edu和Occ一样也是
谢谢。
答案 0 :(得分:1)
您需要:
df2_dict=df2.to_dict(orient='list')
# {'Level_Count': ['L1', 'L2'], 'Edu': ['MBBS', None], 'Occ': ['MBBS1', None]}
for c in df1.columns:
df1[c]=df1[c].apply(lambda x: x if x in df2_dict[c] else 'out')
输出:
Level_Count Edu Occ
0 L1 MBBS MBBS1
1 L1 MBBS MBBS1
2 L1 out out
3 L2 MBBS MBBS1
4 L2 MBBS MBBS1
5 L2 MBBS MBBS1
6 L2 MBBS MBBS1
7 out MBBS MBBS1
8 out out out
9 out MBBS MBBS1