python-3.x - 如果字符串包含字符模式,如何用 None 替换值?
问题描述
我想用 None替换我的 pandas df 列中的每个字符串,如果它包含一个departments
)
departments var1 var1.1
1 transport aa uu
2 industry) bb tt
3 aviation) cc tt
数据集应该是什么样子
departments var1 var2
1 transport aa uu
2 None bb tt
3 None cc tt
这里有一个类似的解决方案: 用另一个字符串替换正则表达式模式有效,但用 NONE 替换会替换所有值
由于我不使用 spark,如何将其转换为基础 python?
df.withColumn("departments", when(col("departments").rlike("\)"), None)
.otherwise(col("departments"))
)
解决方案
使用您显示的示例,请尝试以下操作。您可以使用str.contains
函数来找出departments
列中的任何值,)
然后使用.loc
我们在 m 变量设置 None 中获得的值。
m = df['departments'].str.contains('\)', na=False)
df.loc[m,'departments'] = None
推荐阅读
- php - 尝试通过在 PHP 上添加 1 天来更新日期字段
- macros - Common Lisp Read Macro for "lazy infix or" 来解构关键字
- javascript - 如何隐藏标签并在多个工作表中保护它们(谷歌表格)
- swift - 快速检查核心数据对象是否都满足一个谓词
- c - 使用 LD_PRELOAD 跟踪 malloc 分配/释放
- regex - 字符串末尾的匹配年份未括在括号中
- amazon-web-services - 使用 AWS API Gateway 和 Lambda,我看到的路径都以 $default 为前缀
- powershell - 对 Azure 存储表运行查询返回 403 AuthenticationFailed,但返回表中的所有条目返回 200 OK
- python - 我无法使用 pyaudio 。我无法用这个库录制声音
- android - 我需要为响应 URL 和请求 URL 创建一个单独的网页以与 iPay88 集成吗?