Pandas:计算列中的空字符串

2024-05-17 02:55:04 发布

您现在位置:Python中文网/ 问答频道 /正文

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

currency
USD
EUR
ILS
HKD

代码是:

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

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

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


Tags: 字符串代码dfeurcurrencyusdcontainsstr
2条回答

找不到被骗者,因此发布了一个答案:

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

返回:

2

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

相关问题 更多 >