python - python如何使用lambda在map函数中添加IF语句
问题描述
我有以下df:
d = {'role': ['admin/tech', 'admin', 'programming/asst/design']}
df = pd.DataFrame(data=d)
我的目标是:
换句话说,提取第一个 '/' IF 行包含 '/' 之前的所有内容
我想出了:
现在我需要为这个函数添加一个 IF 语句
我试过类似的东西:
但它不起作用。
在此先感谢,我非常感谢您的建议!!
解决方案
您不需要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
推荐阅读
- ansible - 尝试添加新节点时卡在部署 okd 集群
- c# - 控制器中的 MVC 渲染部分脚本
- sql - 匹配一个日期介于另一个表中的两个日期之间的行
- bash - Bash:无法将 ctrl+c 发送到已启动的程序中
- r - 尝试使用 na.omit 省略特定列中的“na”行。该函数运行没有错误,但没有省略所需的行
- javascript - 在计算中导入组件和在vuejs动态导入中导入组件有什么区别?
- javascript - 替换 highchart 中的系列时,饼图图例与旧图例重叠
- c++ - 如何创建一个 3D 矩阵以及如何在 C++ 中填充它
- javascript - Express 中间件传递变量,中间件函数中出现错误“TypeError:无法解构属性”,但通过路由定义工作
- java - 如何在集成测试时使自定义 Spring Boot 启动器可加载?