熊猫:计算列中的空字符串

时间:2018-04-05 16:17:51

标签: python string pandas dataframe series

我试图找到一列中只包含空字符串''的单元格数。 df看起来像是:

currency
USD
EUR
ILS
HKD

代码是:

df['currency'].str.contains(r'\s*')

但代码也会将实际字符串值的单元格识别为包含空字符串。

我想知道如何解决这个问题,它只检测只包含空字符串的单元格。

3 个答案:

答案 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()