如何仅计算数据框列中的“是”实体?

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

以上是关于如何仅计算数据框列中的“是”实体?的主要内容,如果未能解决你的问题,请参考以下文章

计算数据框列中的剩余量

Pyspark - 计算每个数据框列中的空值数量

过滤熊猫数据框列中的字符串/浮点数/整数值

如何迭代熊猫数据框列中的元素?

如何迭代数据框列中的列表项

如何从 Pandas 数据框列中的日期时间减去 3 小时?