df = DataFrame({'Number': (1, 3, 4, 5),
'Lists': ([1], [3, 4, 5], [6, 7], [8])})
我想创建另一列“ Isin”,如果每行的“列表”字段中为“数字”,则将其设置为1,即
"Isin"
1
1
0
0
我已经尝试了很多基于df [‘Number’].isin(df [‘Lists’])的事情,但是没有任何运气!它以不可散列的类型失败:“列表”
解决方法:
您可以使用apply()函数遍历行,并检查Number是否在逐行列出中:
df["Isin"] = df.apply(lambda r: int(r.Number in r.Lists), axis=1)