我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

空字符串/英文半角空格/中文全角空格,这些字符串在某些逻辑层面上,也可以被视为空值。本文将对这些可以视为空值的特殊字符串进行区分检测。

苏南大叔:python编程,如何判断空字符串/英文空格/中文空格? - python判断空字符串
python编程,如何判断空字符串/英文空格/中文空格?(图3-1)

大家好,这里是苏南大叔的“黑客马拉松夺旗赛”博客,这里讲述苏南大叔和计算机代码之间的故事。测试环境:python@3.6.8pandas@1.1.5numpy@1.24.4

测试对象

这里的测试对象,都归属于字符串。定义如下:

import pandas as pd
s = pd.Series(["", " ", "  ", '   '])
注意:最后两个元素是中文全角状态下的空格。

不是空值

代码层面上来说,上面的几个对象都不是空值。测试代码:

print(s.isnull())

输出:

0    False
1    False
2    False
3    False
dtype: bool
print(s.apply(lambda x: x is None))

输出:

0    False
1    False
2    False
3    False
dtype: bool

苏南大叔:python编程,如何判断空字符串/英文空格/中文空格? - 不是空值
python编程,如何判断空字符串/英文空格/中文空格?(图3-2)

空字符串检测

print(s.apply(lambda x: x =="" ))

输出:

0     True
1    False
2    False
3    False
dtype: bool

苏南大叔:python编程,如何判断空字符串/英文空格/中文空格? - 空字符串检测
python编程,如何判断空字符串/英文空格/中文空格?(图3-3)

空格检测

无论全角还是半角,空格检测都可以通过。

print(s.apply(lambda x: str(x).isspace()))

输出:

0    False
1     True
2     True
3     True
dtype: bool

空字符串+空格检测

其实,对于苏南大叔来说,空格也是空字符串。所以,检测方式变成:

print(s.apply(lambda x: (str(x).strip() == "") ))

输出:

0    True
1    True
2    True
3    True
dtype: bool

相关文章

本文中大量使用了lambda表达式,参考文章:

总结

总之,空字符串检测的方法是=='',空格检测的方法是:.isspace()。更多python文章,请参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python