首页 > 解决方案 > python如何使用lambda在map函数中添加IF语句

问题描述

我有以下df:

d = {'role': ['admin/tech', 'admin', 'programming/asst/design']}
df = pd.DataFrame(data=d)

在此处输入图像描述

我的目标是:

在此处输入图像描述

换句话说,提取第一个 '/' IF 行包含 '/' 之前的所有内容

我想出了:

在此处输入图像描述

现在我需要为这个函数添加一个 IF 语句

我试过类似的东西:

在此处输入图像描述

但它不起作用。

在此先感谢,我非常感谢您的建议!!

标签: pythondictionaryif-statementlambdafind

解决方案


您不需要lambda功能来实现您想要实现的目标。试试这个:

>>> df["role"].str.split("/").str[0]
0          admin
1          admin
2    programming
Name: role, dtype: object

如果出于某种原因您仍想使用lambda,请执行以下操作:

>>> df["role"].apply(lambda x: x.split("/")[0])
0          admin
1          admin
2    programming
Name: role, dtype: object

推荐阅读