繁体   English   中英

带条件拆分2D numpy数组

[英]Split 2D numpy array with condition

我想根据第13行中的值拆分2D数组。输入是2D Numpy数组,但是我无法弄清楚如何将Arrays创建为输出,因为np.append给了我Tupel。 (因此,例如,我不能在其上使用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.

上面代码的向量化版本。

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可能被视为不等于零。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM