从 numpy 数组中删除 None 的有效方法
·
回答问题
有没有一种有效的方法可以从 numpy 数组中删除 None 并将数组调整为新的大小?
例如,如何在不在 python 中遍历它的情况下从此框架中删除 None 。我可以轻松地遍历它,但正在处理一个可能会被多次调用的 api 调用。
a = np.array([1,45,23,23,1234,3432,-1232,-34,233,None])
Answers
In [17]: a[a != np.array(None)]
Out[17]: array([1, 45, 23, 23, 1234, 3432, -1232, -34, 233], dtype=object)
上面的工作是因为a != np.array(None)是一个布尔数组,它映射出非 None 值:
In [20]: a != np.array(None)
Out[20]: array([ True, True, True, True, True, True, True, True, True, False], dtype=bool)
以这种方式选择数组元素称为布尔数组索引。
更多推荐

所有评论(0)