使用条件拆分二维 numpy 数组

我想根据第 13 行中的值拆分一个 2D 数组。输入是一个 2D Numpy 数组,但我无法弄清楚如何创建数组作为输出,因为 np.append 给了我 tupels。(所以我可以例如不使用 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.


catspeake
浏览 203回答 1
1回答

呼啦一阵风

上面代码的矢量化版本。import numpy as npE = D[np.isclose(D[:,13], 0)].ravel().tolist()F = D[~np.isclose(D[:,13], 0)].ravel().tolist()处理浮点数时最好使用几乎相等的比较,因为在某些情况下(由于内存中的数字表示错误),例如 1.0e-20 可能会被视为不等于零。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python