如何仅计算数据框列中的“是”实体?
Posted
技术标签:
【中文标题】如何仅计算数据框列中的“是”实体?【英文标题】:How can I count only 'Yes' entities in my column of a dataframe? 【发布时间】:2020-05-31 02:21:32 【问题描述】:在 Input[96] 中我尝试了很多东西,但什么都做不了,总是得到“是”和“没有值”
输入:
y = (z_copy['fruity']) .value_counts()
print(y)
输出:
No 45
Yes 38
Name: fruity, dtype: int64
【问题讨论】:
始终将代码、数据和错误消息作为有问题的文本而不是图像。 【参考方案1】:编辑:因为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 ) )
【讨论】:
非常感谢....我自己试了一下,得到了一个更紧凑的代码:z_copy[z_copy['fruity'] == 'Yes']['fruity'].value_counts() 现在我发布了你可以在z_copy['fruity'].value_counts()['Yes']
中使用['Yes']
因为value_counts()
返回Series
以上是关于如何仅计算数据框列中的“是”实体?的主要内容,如果未能解决你的问题,请参考以下文章