我想基于第13行中的值拆分2D数组。 输入是2D Numpy数组,但是我无法弄清楚如何将数组创建为输出,因为np.append给了我一些建议。 (因此,例如,我不能在其上使用np.median)
import numpy as np
D = np.load('train_data.npy')
E = []
F = []
for i, item in enumerate(D):
if D[i][13]==0:
np.append(E,item)
else:
np.append(F,item)
threshold=np.median(E[:, 7])
#Throws error, because E is a now tuple. It works on D.
答案 0 :(得分:1)
上面代码的向量化版本。
import numpy as np
E = D[np.isclose(D[:,13], 0)].ravel().tolist()
F = D[~np.isclose(D[:,13], 0)].ravel().tolist()
使用浮点数时最好使用几乎相等的比较,因为在某些情况下(由于内存中数字表示的错误),例如1.0e-20可能被视为不等于零。