这里有个例子:
a = np.array([[1, 2, 3,4], [], [1,2,0,9]])
print(a)
# array([list([1, 2, 3, 4]), list([]), list([1, 2, 0, 9])], dtype=object)
如何删除空元素并仅返回:
array([[1, 2, 3, 4], [1, 2, 0, 9]], dtype=object)
答案 0 :(得分:3)
您可以使用逻辑索引:
a[a.astype(bool)]
# array([list([1, 2, 3, 4]), list([1, 2, 0, 9])], dtype=object)
答案 1 :(得分:1)
您可以遍历数组:-
a = np.array([[1, 2, 3,4], [], [1,2,0,9]])
a1 = np.array([i for i in a if i])
>>> a1
array([[1, 2, 3, 4],
[1, 2, 0, 9]])
答案 2 :(得分:0)
在数组和计算长度上进行简单的for循环迭代就足以摆脱空元素。
a = np.array([[1,2,3,4],[],[5,6,7,8]]
output = []
for elem in a:
if elem:
output.append(elem)
output= np.array(output)
答案 3 :(得分:0)
您可以使用过滤器:
a = np.array([[1, 2, 3,4], [], [1,2,0,9]])
list(filter(None, a))
# [[1, 2, 3, 4], [1, 2, 0, 9]]