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

新手上路,请多包涵

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

 currency
USD
EUR
ILS
HKD

代码是:

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

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

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

原文由 daiyue 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 362
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

原文由 jpp 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

退货:

 2

原文由 Anton vBR 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题