python - Pyspark 中的 None/== vs Null/isNull?
问题描述
有什么区别:
F.when(F.col('Name').isNull())
和:
F.when(F.col('Name') == None)
它们的工作方式似乎不同。在检查列中的空值时,第一个似乎效果更好。有时第二种方法不适用于检查空名称。例如,如果我想检查空值并将为空的名称替换为“缺少名称”或其他内容,则第二种方法有时不会做任何事情。我不确定为什么它有时有效,而其他时候无效。但是第一种方法总是有效的。
解决方案
F.when(F.col('Name') == None)
None 是 python 中的对象,NoneType
. 它与空字符串或 0 不同。对于这种情况,您可能希望使用
F.when(F.col('Name') is None)
使用==
您正在检查F.col('Name')
value 是否等于 None 对象,这将把事情扔掉。
推荐阅读
- google-apps-script - 是否有获取范围并粘贴到 Google 表格最后一行的功能?
- python - Pandas 如何从较长的字符串创建唯一的 4 个字符串
- sql - CONCAT 语句中包含参数后,存储过程立即使用 CONCAT 函数截断变量
- html - 为什么使用'float:right'时垂直对齐停止工作?
- java - 如何在 Spring Boot 中将跟踪模式设置为无
- computer-science - 查找流水线处理器的时钟周期时间
- java - 错误:org.springframework.web.HttpMediaTypeNotSupportedException:不支持内容类型''
- r - R shiny 不能在服务器上工作,但可以在本地正常工作
- image-processing - 图像变形和模糊检测技术的区别
- java - 如何在android studio中修复“我的无休止登录”