Pandas:计算列中的空字符串

jtjikinw  于 2023-10-14  发布在  其他
关注(0)|答案(4)|浏览(108)

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

currency
USD
EUR
ILS
HKD

代码为:

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

但代码也将具有实际字符串值的单元格识别为包含空字符串。
我想知道如何解决这个问题,它只检测只包含空字符串的单元格。

nue99wik

nue99wik1#

有好几种方式。使用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
blpfk2vs

blpfk2vs2#

找不到这个傻瓜,所以贴出一个答案:

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

回报率:

2
bxjv4tth

bxjv4tth3#

您可以使用它来计算空值

df.isnull().sum()
jxct1oxe

jxct1oxe4#

您可以获得所有为"“或null的单元格的概览。

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

要获得总和,请使用np.sum(df.eq('').sum() + df.isnull().sum())

相关问题