现在我有一个numpy数组X
,其中包含某些列名,格式和长度。如何在此数组中将所有值设置为0
(或为空),而不删除格式/名称等。?
答案 0 :(得分:5)
>>> 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