我尝试查找列中仅包含空字符串
''
的单元格数量。 df
看起来像:
currency
USD
EUR
ILS
HKD
代码是:
df['currency'].str.contains(r'\s*')
但代码还会将具有实际字符串值的单元格识别为包含空字符串。
我想知道如何解决这个问题,它只检测只包含空字符串的单元格。
几种方式。使用
numpy
通常更有效。
import pandas as pd, numpy as np
df = pd.DataFrame({'currency':['USD','','EUR','']})
(df['currency'].values == '').sum() # 2
len(df[df['currency'] == '']) # 2
df.loc[df['currency'] == ''].count().iloc[0] # 2
找不到骗子,所以发布答案:
import pandas as pd
df = pd.DataFrame({'currency':['USD','','EUR','']})
c = (df['currency'] == '').sum()
print(c)
退货:
2
您可以使用它来计算空值
df.isnull().sum()
df.eq('').sum() + df.isnull().sum()