我有一个使用 numpy.loadtxt 制作的 numpy ndarray。我想根据第三列中的条件从中提取一整行。比如:如果 array[2][i] 满足我的条件,那么也得到 array[0][i] 和 array [1][i]。我是 python 的新手,以及所有 numpy 功能,所以我正在寻找最好的方法来做到这一点。理想情况下,我想一次拉 2 行,但我不会总是有偶数行,所以我想这是个问题
import numpy as np
'''
Created on Jan 27, 2013
@author:
'''
class Volume:
f ='/Users/Documents/workspace/findMinMax/crapc.txt'
m = np.loadtxt(f, unpack=True, usecols=(1,2,3), ndmin = 2)
maxZ = max(m[2])
minZ = min(m[2])
print("Maximum Z value: " + str(maxZ))
print("Minimum Z value: " + str(minZ))
zIncrement = .5
steps = maxZ/zIncrement
currentStep = .5
b = []
for i in m[2]:#here is my problem
while currentStep < steps:
if m[2][i] < currentStep and m[2][i] > currentStep - zIncrement:
b.append(m[2][i])
if len(b) < 2:
currentStep + zIncrement
print(b)
这是我在java中做的一些代码,这是我想要的一般想法:
while( e < a.length - 1){
for(int i = 0; i < a.length - 1; i++){
if(a[i][2] < stepSize && a[i][2] > stepSize - 2){
x.add(a[i][0]);
y.add(a[i][1]);
z.add(a[i][2]);
}
if(x.size() < 1){
stepSize += 1;
}
}
}