[英]Loop through an array column in order to find the required values python
我有一个最小值和最大值,我也有一个70X3数组。 我想从数组的第二列中找到所有在最小值和最大值范围内的值,并为这些值导出数组的所有3列。
例如
A=[2,3,4
3,5,6
5,5,5
5,6,7
10,11,22
3,50,6]
最大值为11,最小值为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中找到相应的值
您可以使用
A[numpy.logical_and(5 <= A[:, 1], A[:, 1] <= 11), :]
使用简单的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
轴,第二列)的值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.