gpt4 book ai didi

Python numpy 数组的 numpy 数组

转载 作者:太空狗 更新时间:2023-10-29 17:53:02 25 4
gpt4 key购买 nike

我在创建 numpy 数组的 numpy 数组时遇到了问题。我会在循环中创建它:

a=np.array([])
while(...):
...
b= //a numpy array generated
a=np.append(a,b)
...

期望的结果:

[[1,5,3], [9,10,1], ..., [4,8,6]]

实际结果:

[1,5,3,9,10,1,... 4,8,6]

这可能吗?我不知道数组的最终维度,所以我无法用固定的维度来初始化它。

最佳答案

永远不要在循环中附加到 numpy 数组:这是 NumPy 与基本 Python 相比非常不擅长的操作。这是因为您在每次append 时都制作了数据的完整副本,这将花费您二次方的时间。

相反,只需将您的数组附加到 Python 列表并在最后转换它;结果更简单、更快:

a = []

while ...:
b = ... # NumPy array
a.append(b)
a = np.asarray(a)

至于为什么您的代码不起作用:np.append 的行为根本不像list.append。特别是,它不会在追加时创建新维度。您必须创建具有两个维度的初始数组,然后附加一个显式轴参数。

关于Python numpy 数组的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31250129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com