回答问题

有没有一种有效的方法可以从 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)

以这种方式选择数组元素称为布尔数组索引。

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐