📅  最后修改于: 2023-12-03 15:23:14.274000             🧑  作者: Mango
np数组是numpy中最基础的数组结构之一,它提供了很多方便的方法来操作数组。当我们想要删除np数组中的0时,我们可以使用numpy中的特定函数来实现。
我们可以使用np.delete函数来删除数组中的0。这个函数有三个必要的参数:要被删除元素的数组,要被删除的元素的下标或下标数组,和要被删除的轴方向。删除元素的下标可以是单个整数,也可以是一个含有多个整数的元组或列表。
import numpy as np
arr = np.array([1, 0, 5, 0, 9])
newarr = np.delete(arr, np.where(arr == 0))
print(newarr)
输出结果为:[1 5 9]
。
我们可以使用np.nonzero函数来找出np数组中所有非0元素的下标,然后根据这些下标重新构造一个不包含0的新数组。
import numpy as np
arr = np.array([1, 0, 5, 0, 9])
newarr = arr[np.nonzero(arr)]
print(newarr)
输出结果为:[1 5 9]
。
我们可以使用np.where函数来找出数组中所有不为0的元素,然后根据这些元素构造一个新数组。
import numpy as np
arr = np.array([1, 0, 5, 0, 9])
newarr = arr[np.where(arr != 0)]
print(newarr)
输出结果为:[1 5 9]
。
总结
上述三种方法都可以用来删除np数组中的0,其中第一种方法最为直接,第二种方法只需要一次遍历,第三种方法则比较灵活。在实际使用中,我们可以根据实际需求来选择不同的方法。