numpy.loadtxt を使用して作成した numpy ndarray があります。3 列目の条件に基づいて、行全体を取得したいと考えています。のようなもの: 配列 [2] [i] が私の条件を満たしている場合、配列 [0] [i] と配列 [1] [i] も取得します。私はPythonとすべての派手な機能が初めてなので、これを行うための最良の方法を探しています。理想的には、一度に 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;
}
}
}