熔融df1:
df1_melt = (
df1.melt(["owner", "field"])
.drop("variable", 1)
.rename(columns={"field": "variable"})
)
df1_melt
owner variable value
0 Rick cin 234011
1 Daryl email test@gmail.com
2 Negan phone 9087654
3 Carol address Hilltop
熔化df2,与df1_Melt合并,最后重命名Flag中的值并将其更改为True/False:
(
df2.melt("owner")
.astype(str)
.merge(df1_melt, how="right", indicator=True)
.rename(columns={"_merge": "Flag"})
.assign(Flag=lambda x: np.where(x.Flag == "both", True, False))
)
owner variable value Flag
0 Rick cin 234011 False
1 Daryl email test@gmail.com True
2 Negan phone 9087654 True
3 Carol address Hilltop False