Pandas:计算列中的空字符串

问题描述 投票:0回答:4

我尝试查找列中仅包含空字符串

''
的单元格数量。
df
看起来像:

currency
USD
EUR
ILS
HKD

代码是:

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

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

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

python string pandas dataframe series
4个回答
33
投票

几种方式。使用

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

4
投票

找不到骗子,所以发布答案:

import pandas as pd
df = pd.DataFrame({'currency':['USD','','EUR','']})
c = (df['currency'] == '').sum()
print(c)

退货:

2

2
投票

您可以使用它来计算空值

df.isnull().sum()

0
投票

df.eq('').sum() + df.isnull().sum()

© www.soinside.com 2019 - 2024. All rights reserved.