python求矩阵每列最小的大于零的数
时间: 2024-02-13 12:01:10 浏览: 65
基于Apriori算法挖掘英语词汇之间的关联规则+python
可以使用NumPy库实现该功能。可以使用以下代码来求矩阵每列最小的大于零的数:
```python
import numpy as np
# 创建一个矩阵
matrix = np.array([[1, -2, 3], [4, 0, -6], [7, 8, 9]])
# 获取矩阵每列大于零的数
positive_numbers = matrix[matrix > 0]
# 获取每列最小的大于零的数
min_positive_numbers = np.zeros(matrix.shape[1])
for i in range(matrix.shape[1]):
column = matrix[:, i]
column_positive_numbers = column[column > 0]
if len(column_positive_numbers) > 0:
min_positive_numbers[i] = np.min(column_positive_numbers)
print(min_positive_numbers)
```
输出结果为:
```
[1. 8. 3.]
```
其中,`matrix > 0`会返回一个布尔类型的矩阵,只有原矩阵中对应位置的数大于零时,对应位置上的值为True,否则为False。这个矩阵可以用来筛选出原矩阵中大于零的数。
然后,对于每一列,我们可以使用`column[column > 0]`来获取该列中大于零的数,然后再使用`np.min()`函数来获取其中的最小值。如果该列中没有大于零的数,则将对应位置上的值设为0。最终得到的数组即为矩阵每列最小的大于零的数。
阅读全文