首页 > 解决方案 > 使用正则表达式检查单元格是否具有空值

问题描述

目的是过滤掉与 B 列中的正则表达式匹配的数据,而 A 列为空。

df = pd.read_csv('DATA.csv',sep=',',error_bad_lines=False)
fd = df[(df['B'].str.match('.*color\:*') | 
df['B'].str.match('colorful\:*')) & df.A.str.match('^\s*$')]

使用此方法获得的输出匹配 B 列中单词“color”的所有实例,而不是完全匹配“color:”或“colorful:”。此外,此代码适用于 B 列的行,其中 A 列中的相应值不为空,而不是仅在 A 列值为空的行上运行。

标签: python-3.xregex

解决方案


有两种方法:第一种是使用 .isnull() 方法:

df.A.isnull()

第二个是:

df.A.fillna('').str.contains('^$')

但是,正则表达式方法(第二种)不是最佳的


推荐阅读