【发布时间】:2022-06-13 01:43:45
【问题描述】:
在以下代码中:
def compute_class_freqs():
"""
Compute positive and negative frequences for each class.
Returns:
positive_frequencies (np.array): array of positive frequences for each
class, size (num_classes)
negative_frequencies (np.array): array of negative frequences for each
class, size (num_classes)
"""
### START CODE HERE (REPLACE INSTANCES OF 'None' with your code) ###
labels = [[0,1,0],[1,1,1],[0,1,1]]
print(labels)
# total number of patients (rows)
N = labels[0]
positive_frequencies = None
negative_frequencies = None
### END CODE HERE ###
return positive_frequencies, negative_frequencies
我想将每行中 1 的数量相加并将每个和附加到 positive_frequencies,并将每行中 0 的数量相加并将每个和附加到negative_frequencies。如何使用 numpy 函数 numpy.sum() 和 numpy.where() 做到这一点?
编辑:positive_frequencies 应该是每列中 1 的数量除以总行数,负频率应该是每列中 0 的数量除以总行数。基本上,该函数应该返回 numpy 浮点数组。
【问题讨论】:
-
您能否提供预期的输出?
-
这是您的答案:Efficiently count zero elements in numpy array? 您可以轻松地将其调整为您的代码(即只需将
axis=0传递给count_nonzero)。