gpt4 book ai didi

Python Numpy append 数组而不展平

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:24 25 4
gpt4 key购买 nike

在 Python 3 中,我循环导入多个数据文件,我希望能够将所有数据存储在一个二维数组中。我从 data = np.array([]) 开始,在每次迭代中我想添加一个新数组 datai = np.array([1,2,3]),如何让我的最终数组看起来像这样? [[1,2,3],[1,2,3],...,[1,2,3]]

我试过 np.append、np.concatenate 和 np.stack,但似乎都不起作用。我正在尝试的示例代码:

data = np.array([])
for i in range(datalen):
datai = *func to load data as array*
data = np.append(data, datai)

当然这会返回一个扁平化的数组。有什么方法可以取回长度为 datalen 且每个元素都是数组 datai 的二维数组?

谢谢!

最佳答案

最快的方法是 vstack

data = np.vstack((get_data() for i in range(datalen)))

vstack 需要一个元组/可迭代

data = np.vstack((data1, data2, data3))

或者您可以通过 append axis=0 来做到这一点

data = np.empty(shape=(0, 3))
data = np.append(data, datai.reshape((-1, 3)), axis=0) # -1 will make the rows automatic

关于Python Numpy append 数组而不展平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51676464/

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