【发布时间】:2020-06-17 05:23:51
【问题描述】:
我有 2 个数据框 - df1 和 df2,如下所示。我需要在 df1 的所有列(列 - a 到 f)中搜索来自 df2['Pid'] 的值,然后创建一个新列 df1['ind'],它将保存来自 df2['ind'] 的值在 df1 中找到 df2['Pid'] 的值之间的匹配。对我来说,它看起来像是一个扩展的查找案例。我使用df2.isin(df1['PERSON_UID']) 在 df1 中查找标记值 found = true/false,但停留在创建 df1['ind'] 列。
df1:
a b c d e f
0 0 2106 0 0 0
0 2103 0 0 0 0
0 2104 0 0 0 0
0 2105 0 0 0 0
2100 0 0 0 0 0
2101 0 0 0 0 0
2102 0 0 0 0 0
0 0 2107 0 0 0
0 0 2108 0 0 0
0 0 2109 0 0 0
0 0 2110 0 0 0
0 0 2111 0 0 0
0 0 0 2112. 0 0
0 0 0 2113 0 0
0 0 0 2114 0 0
0 0 0 0 2115 0
0 0 0 0 2116 0
0 0 0 0 0 2117
0 0 0 0 0 2118
0 0 0 0 0 2119
0 0 0 0 2120 0
df2:
Pid ind
2100 y
2101 n
2102 y
2103 n
2104 y
2105 n
2106 n
2107 n
2108 y
2109 y
2110 n
2111 y
2112 y
2113 y
2114 n
2115 n
2116 y
2117 y
2118 n
2119 y
2120 n
期望的操作:
a b c d e f ind
0 0 2106 0 0 0 n
0 2103 0 0 0 0 n
0 2104 0 0 0 0 y
0 2105 0 0 0 0 n
2100 0 0 0 0 0 y
2101 0 0 0 0 0 n
2102 0 0 0 0 0 y
0 0 2107 0 0 0 n
0 0 2108 0 0 0 y
0 0 2109 0 0 0 y
0 0 2110 0 0 0 n
0 0 2111 0 0 0 y
0 0 0 2112. 0 0 y
0 0 0 2113 0 0 y
0 0 0 2114 0 0 n
0 0 0 0 2115 0 n
0 0 0 0 2116 0 y
0 0 0 0 0 2117 y
0 0 0 0 0 2118 n
0 0 0 0 0 2119 y
0 0 0 0 2120 0 n
【问题讨论】: