我试图找到一列中只包含空字符串''
的单元格数。 df
看起来像是:
currency
USD
EUR
ILS
HKD
代码是:
df['currency'].str.contains(r'\s*')
但代码也会将实际字符串值的单元格识别为包含空字符串。
我想知道如何解决这个问题,它只检测只包含空字符串的单元格。
答案 0 :(得分:6)
有几种方法。使用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
答案 1 :(得分:2)
无法找到假人,所以发布了答案:
import pandas as pd
df = pd.DataFrame({'currency':['USD','','EUR','']})
c = (df['currency'] == '').sum()
print(c)
返回:
2
答案 2 :(得分:1)
您可以使用它来计算空值
df.isnull().sum()