【发布时间】:2019-01-30 16:20:03
【问题描述】:
我有两个 numpy 数组。然后我想沿零轴附加。如果我使用 np.append 命令,它需要两个参数。而以下代码加载第一个数组,然后加载第二个数组。在这种情况下如何实现 np.append 命令?我阅读了不同的命令,例如 np.concatenate 和 np.vstack,但我不知道如何在 for 循环中实现它。有人可以指导我吗?
`list=[1,2]
for i in list:
s=np.load("%s.npy"%i)
r=np.append(s,axis=0)
print(s)
print(s.shape)`
【问题讨论】:
-
像内置函数一样命名变量不是一个好主意,在这种情况下,
list = [1, 2]会隐藏内置函数list()。 -
不要使用
np.append。曾经!在列表中收集值(列表追加很棒)。连接一次。 -
np.append有几个问题。这是concatenate的一个写得不好且使用不当的前端。它不是列表追加克隆。反复使用这种方法很慢。也很难让初始的empty正确(你必须很好地理解数组维度)。 -
我应该在列表 ss 中使用存储数组,然后通过 np.concatenate(ss,axis=0) 在循环外连接它吗?
-
“连接起来很笨拙,前端使用不当”。你能解释一下吗