我如何计算以下数组中的0和1的数量?

y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

y.count(0)为:

numpy。Ndarray对象没有属性计数


当前回答

利用a系列提供的方法:

>>> import pandas as pd
>>> y = [0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1]
>>> pd.Series(y).value_counts()
0    8
1    4
dtype: int64

其他回答

我会使用np.where:

how_many_0 = len(np.where(a==0.)[0])
how_many_1 = len(np.where(a==1.)[0])

因为ndarray只包含0和1, 您可以使用sum()来获得1的出现次数 和len()-sum()来得到0的出现情况。

num_of_ones = sum(array)
num_of_zeros = len(array)-sum(array)

你有一个只有1和0的特殊数组。一个技巧就是使用

np.mean(x)

也就是数组中1的百分比。另外,使用

np.sum(x)
np.sum(1-x)

会给出数组中1和0的绝对值。

最简单的方法是,如果没有必要的话做评论

import numpy as np
y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])
count_0, count_1 = 0, 0
for i in y_train:
    if i == 0:
        count_0 += 1
    if i == 1:
        count_1 += 1
count_0, count_1

这可以用下面的方法轻松完成

y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])
y.tolist().count(1)