我有一个空的numpy数组。我想给它附加数组,这样每个附加的数组都变成一个元素。
import numpy as np
a = np.array([])
for i in range(3):
a=np.append(a,np.array(['x','y','z']))
print(a)
我的预期结果是:a= [['x','y','z '],['x','y ','z'],['x','y','z ']],但如果不添加axis=1并以不同方式处理第一个附加,这似乎是不可能的。这增加了不必要的if条件每次在循环中。使用vstack时也存在同样的问题。数组的第一次插入必须使用hstack,随后的插入必须使用vstack。
在numpy中实现这一点的最佳方法是什么?
TIA:)
1条答案
按热度按时间doinxwow1#
不应该使用任何重复连接数组的方法。每一次连接都将创建一个全新的阵列,这是对时间和空间的巨大浪费。
最佳实践应该是创建一个数组列表,然后使用单个堆栈构建目标数组:
本示例的一些其他构造方法: