2024-03-29 02:26:58 发布
网友
我想检查numpy数组/矩阵中有多少列只有正值
我拿了我的矩阵,打印了A>0,得到了True和False,然后我尝试了any和all函数,但没有成功
A>0
True
False
any
all
In [55]: a = np.array([[13, 21, 12], [21, -1, 6], [ 1, 10, 2], [41, 1, 4]])
输出应该是2
2
我将矩阵A保存在B中,并尝试编写:
A
B
B.all(axis=1).any()>0
此函数统计元素均大于0的列数:
def count(mat): counter = 0 tmp = mat > 0 for col in tmp.T: if all(col): counter += 1 return counter
这个函数是如何工作的
首先,它为tmp分配一个布尔值矩阵,指示原始矩阵的对应值是否大于0,然后它迭代该矩阵的转置,并检查所有值是否都为真,这意味着它们都大于0
转置包含原始矩阵的列。创建numpy数组时,将行传递给函数。通过转置,数组将包含列
此函数统计元素均大于0的列数:
这个函数是如何工作的
首先,它为tmp分配一个布尔值矩阵,指示原始矩阵的对应值是否大于0,然后它迭代该矩阵的转置,并检查所有值是否都为真,这意味着它们都大于0
转置包含原始矩阵的列。创建numpy数组时,将行传递给函数。通过转置,数组将包含列
相关问题 更多 >
编程相关推荐