gpt4 book ai didi

python - 从数组中提取正值和负值的计数

转载 作者:行者123 更新时间:2023-11-28 19:35:01 25 4
gpt4 key购买 nike

我需要使用数组来进行一些计算。我有以下数据:

x = [[81, 68, 71, 71, 67, -72], [79, 77, 88, 88, 59, -71], [67, 71, 68, 68, 85, -66]]

我需要处理数据并从每一列中提取正值和负值的数量,因此输出应该如下所示:

positive_value = [3,3,3,3,0]
negative_vaue = [0,0,0,0,3]

我尝试使用 for 循环,但没有成功,也尝试使用 Numpy,但我真的不知道如何使用它。

获得该结果的最佳方法是什么?

最佳答案

可能最优雅的方法是将其转换为 数组,然后对其执行条件 >= 0,然后计算第一个轴上的 sum(..):

import numpy as np

np.sum(np.array(x) >= 0, axis=0)

这会产生:

>>> np.sum(np.array(x) >= 0, axis=0)
array([3, 3, 3, 3, 3, 0])

因此,通过使用 np.array(x) >= 0,我们获得了一个二维 bool 数组:

>>> np.array(X) >= 0
array([[ True, True, True, True, True, False],
[ True, True, True, True, True, False],
[ True, True, True, True, True, False]], dtype=bool)

由于 True 计为 1,而 False 计为 0,因此通过计算每列的总和,我们可以计算正数的数量。

如果您想严格计数正数(因此只大于零),您应该省略 >= 中的 =:

>>> np.sum(np.array(x) > 0, axis=0)
array([3, 3, 3, 3, 3, 0])

关于python - 从数组中提取正值和负值的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48005152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com