现在我有一个带有特定列名、格式和长度的numpy数组X
。如何将该数组中所有值设置为0
(或空),而不删除格式/名称等内容?
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])
>>> a = np.array([[1,2],[3,4]])
>>> a[:] = 0
>>> a
array([[0, 0],
[0, 0]])
numpy.zeroes_like
创建一个新的数组,填充为零,但保留来自现有数组的类型信息。zeroed_X = numpy.zeroes_like(X)
如果您想的话,您可以将结构化数组中的类型信息保存下来以备将来使用。这些信息都在dtype
中:
my_dtype = X.dtype
.fill()
方法填充它——这样不会使内存使用量翻倍。 - Nick T
@agconti
以通知他/她。 - falsetrumyArray = np.zeros_like(myArray)
,我认为它的作用是一样的。 - heltonbiker