Pandas统计DataFrame列中'No'数量时出现布尔值问题求助
解决方法
你用df['hello'] == 'No'得到布尔值是正常的——这段代码的作用是生成一个布尔掩码,每个元素对应原列中该位置的值是否等于'No',所以返回的是布尔类型的Series,而非筛选后的内容。
要统计'hello'列中'No'的数量,有几种简单方法:
直接对布尔掩码求和(布尔值里True等价于1,False等价于0):
(df['hello'] == 'No').sum()用
value_counts()统计各值出现次数,再提取'No'的数量(如果担心'No'不存在会报错,可以用get方法设置默认值0):# 直接提取 df['hello'].value_counts()['No'] # 带默认值的安全写法 df['hello'].value_counts().get('No', 0)先筛选出'No'的行,再对目标列计数:
df[df['hello'] == 'No']['hello'].count()
内容的提问来源于stack exchange,提问作者user16239103
相关产品推荐
相关产品推荐

