首页 > 解决方案 > 如何清除一个numpy数组?

问题描述

如何清除一维 numpy 数组?

如果它是一个列表,我会这样做:

my_list = []

如何用 numpy 做到这一点?

编辑:

我的意思是清除同一数组中的所有元素。对于我必须使用的列表my_list.clear()

标签: pythonnumpy

解决方案


你说的“清楚”是什么意思?编码

my_list = []

只是覆盖my_list以前存储的任何内容,无论它是列表、数组还是其他。如果这是您想要做的,您可以使用完全相同的语法 ifmy_list是一个数组。

如果明确表示删除列表中的所有元素,则使用

my_list.clear()

删除列表中的所有元素并保留id

>>> a = [4]*2
>>> a
[4, 4]
>>> id(a)
140202631135872
>>> a.clear()
>>> a
[]
>>> id(a)
140202631135872

对于 numpy 数组,不存在与此等效的内容,因为无法更改 numpy 数组中的元素数量。

如果您希望简单地将数组中的所有值设置为 0:

>>> arr = np.random.randn(3)
>>> arr
array([-1.11074625, -0.12784997, -0.53716969])
>>> id(arr)
140203438053536
>>> arr[:] = 0
>>> arr
array([0., 0., 0.])
>>> id(arr)
140203438053536

推荐阅读