清空现有的NumPy数组

时间:2014-01-16 18:49:37

标签: python arrays numpy

现在我有一个numpy数组X,其中包含某些列名,格式和长度。如何在此数组中将所有值设置为0(或为空),而不删除格式/名称等。?

3 个答案:

答案 0 :(得分:5)

使用numpy.ndarray.fill

>>> import numpy as np
>>> a = np.arange(10)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> a.fill(0)
>>> a
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

答案 1 :(得分:4)

您可以使用切片:

>>> a = np.array([[1,2],[3,4]])
>>> a[:] = 0
>>> a
array([[0, 0],
       [0, 0]])

答案 2 :(得分:2)

使用numpy.zeroes_like创建一个新数组,填充零但保留现有数组中的类型信息:

zeroed_X = numpy.zeroes_like(X)

如果需要,您可以保存结构化阵列中的类型信息,以备将来使用。全部都在dtype

my_dtype = X.dtype
相关问题