2024-04-25 16:46:44 发布
网友
我试图通过随机生成行并附加
import numpy as np my_nums = np.array([]) for i in range(100): x = np.random.rand(2, 1) my_nums = np.append(my_nums, np.array(x))
但我没有得到我想要的,而是得到一个1d数组。你知道吗
怎么了? 调换x也没有帮助。你知道吗
您可以使用np.append(axis=0)或np.vstack来实现这一点。但是,这要求附加的行与数组中已有的行具有相同的长度。你知道吗
np.append(axis=0)
np.vstack
不能使用相同的代码将具有两个值的行附加到空数组,也不能将行附加到已存在的二维数组:numpy将抛出 ValueError: all the input arrays must have same number of dimensions。你知道吗
ValueError: all the input arrays must have same number of dimensions
您可以初始化my_nums来解决这个问题:
my_nums
my_nums = np.random.rand(1, 2) for i in range(99): x = np.random.rand(1, 2) my_nums = np.append(my_nums, x, axis=0)
注意由于初始化行,范围减少了1。还要注意,我将维度改为(1,2)以获得实际的行向量。你知道吗
当然,要以所需的最终形状创建数组,比按行追加要容易得多:
my_nums = np.random.rand(100, 2)
您可以使用
np.append(axis=0)
或np.vstack
来实现这一点。但是,这要求附加的行与数组中已有的行具有相同的长度。你知道吗不能使用相同的代码将具有两个值的行附加到空数组,也不能将行附加到已存在的二维数组:numpy将抛出
ValueError: all the input arrays must have same number of dimensions
。你知道吗您可以初始化
my_nums
来解决这个问题:注意由于初始化行,范围减少了1。还要注意,我将维度改为(1,2)以获得实际的行向量。你知道吗
当然,要以所需的最终形状创建数组,比按行追加要容易得多:
相关问题 更多 >
编程相关推荐