首页 > 解决方案 > lambda函数中的“isin”不起作用吗?

问题描述

我不能isin在 lambda 函数中使用 a 吗?例如

mylist = ["A", "B", "C"]
df["Col2"] = df["Col1"].apply(lambda x: 1 if x.isin(mylist) else 0)

我得到了一个,AttributeError: 'str' object has no attribute 'isin'但以下过滤器有效:

df[df["Col1"].isin(mylist)]

标签: pythonpython-3.xpandaslambda

解决方案


使用in运算符。

替换x.isin(mylist)x in mylist如下:

df["Col2"] = df["Col1"].apply(lambda x: 1 if x in mylist else 0)

推荐阅读