我有最小值和最大值,我也有70X3阵列。我想从数组的第二列中找到所有值,这些值在最小值和最大值的范围内,并为这些值导出数组的所有3列。
例如
A=[2,3,4
3,5,6
5,5,5
5,6,7
10,11,22
3,50,6]
最大值为11,min为5,矩阵的结果类似于
B=[3,5,6
5,5,5
5,6,7
10,11,22]
到目前为止,我所做的是:
for i in MatrixA[:,1]):
if i<maximum and i>minimum:
aa.append(i)
aa=np.asarray(aa)
但是这只能从第二列找到我需要的值范围而不是第1列和第3列中的相应值
答案 0 :(得分:2)
您可以使用
A[numpy.logical_and(5 <= A[:, 1], A[:, 1] <= 11), :]
答案 1 :(得分:2)
使用简单的 numpy 表达式:
import numpy as np
a = np.array([[2,3,4],[3,5,6], [5,5,5], [5,6,7],[10,11,22], [3,50,6]])
b = a[(a[:,1] >= 5) & (a[:,1] <= 11)]
print(b)
输出:
[[ 3 5 6]
[ 5 5 5]
[ 5 6 7]
[10 11 22]]
a[:,1]
- 考虑指定轴(1
轴,第2列)的值