用一个可变维度填充 3D numpy 数组
Filling 3D numpy array with one variable dimension
我想填充一个维度为 (?, 100, 100) 的 3D numpy 数组。第一个维度将介于 500 和 1000 之间,但事先未知。我可以使用 append 方法,但这很慢。
是否有另一种方法可以创建这样一个第一个维度事先未知的 3D numpy 数组?使用 for 循环填充 numpy 数组。
其次,假设我有以下两个 numpy 数组:
import numpy as np
arr1 = np.random.randint(0, 100, size=(30, 100, 100))
arr2 = np.random.randint(0, 100, size=(50, 100, 100))
如何沿着第一个维度连接 arr1
和 arr2
以便生成的数组具有形状 (80, 100, 100)?
关于第一个问题,我一直使用np.empty和np.append方法,完全没问题。
arr = np.empty((0, 100, 100), int)
arr = np.append(arr,x,axis=0)
关于第二个问题,append再次有效:
arr3 = np.append(arr1, arr2, axis=0)
也'concatenate'可用:
arr3 = np.concatenate((arr1, arr2), axis=0)
我想填充一个维度为 (?, 100, 100) 的 3D numpy 数组。第一个维度将介于 500 和 1000 之间,但事先未知。我可以使用 append 方法,但这很慢。
是否有另一种方法可以创建这样一个第一个维度事先未知的 3D numpy 数组?使用 for 循环填充 numpy 数组。
其次,假设我有以下两个 numpy 数组:
import numpy as np
arr1 = np.random.randint(0, 100, size=(30, 100, 100))
arr2 = np.random.randint(0, 100, size=(50, 100, 100))
如何沿着第一个维度连接 arr1
和 arr2
以便生成的数组具有形状 (80, 100, 100)?
关于第一个问题,我一直使用np.empty和np.append方法,完全没问题。
arr = np.empty((0, 100, 100), int)
arr = np.append(arr,x,axis=0)
关于第二个问题,append再次有效:
arr3 = np.append(arr1, arr2, axis=0)
也'concatenate'可用:
arr3 = np.concatenate((arr1, arr2), axis=0)