首页 > 解决方案 > 如何仅计算数据框列中的“是”实体?

问题描述

在 Input[96] 中,我尝试了很多东西,但什么都做不了,总是得到“是”和“没有值”

输入:

y = (z_copy['fruity']) .value_counts()
print(y)

输出:

No     45
Yes    38
Name: fruity, dtype: int64

标签: pythondataframematplotlibcountdata-visualization

解决方案


编辑:因为value_counts()返回Series所以你可以使用['Yes']

print( z_copy['fruity'].value_counts()['Yes'] )

.

import pandas as pd

z_copy = pd.DataFrame({'fruity': ['Yes', 'No', 'Yes', 'No', 'No']})

print( z_copy['fruity'].value_counts()['Yes'] )

旧版本:您可以获得选定的行并使用len()

import pandas as pd

z_copy = pd.DataFrame({'fruity': ['Yes', 'No', 'Yes', 'No', 'No']})

filter = (z_copy['fruity'] == 'Yes')
selected = z_copy[filter]

print( len( selected ) )

#print( len( z_copy[df['fruity'] == 'Yes'] ) )

最终你可以使用sum(),因为True/False转换为1/0

filter = (z_copy['fruity'] == 'Yes')

print( sum( filter ) )

推荐阅读