我的程序在for循环中创建一个numpy数组。例如,它创建的数组的形状是(100*30*10)
,然后是(160*30*10)
,然后可能是(120*30*10)
。我必须将上述内容附加到一个空的numpy数组中,以便在循环结束时,它将是一个具有(380*30*10)
形状(即100+160+120之和)的numpy数组。numpy数组中的第二维度和第三维度不变
如何在python中执行上述操作。我尝试了以下方法
np_model = np.append(np_model,np_temp1)
print("Appended model shape is",np_model.shape)
np_label = np.append(np_label,np_temp2)
print("Appended label shape is",np_label.shape)
np_model
是一个空数组,我将它定义为np_model = np.empty(1,30,10)
,将np_标签定义为np_label = np.empty(1 ,str)
np_temp1
对应于每个for循环中的数组,如100*30*10
、120*30*10
等,np_temp2
是带有“item1”、“item2”等的字符串
np_label
是一个字符串numpy数组,其中1个标签对应于np_temp1.shape[0]
。但是我在np_模型中得到的结果是大小为380*30*10
=1140000
的扁平数组
感谢您的帮助
您可以使用numpy
concatenate
函数,将输出numpy附加到列表,然后将其馈送到concatenate
函数:为了具体回答您关于从空数组开始的问题,这是我的解决方案,仅使用^{} :
输出:
希望有帮助
正如@Nullman在评论中建议的那样(
np.vstack
)您可以像这样创建空数组
>>> np_model = np.empty((0,30,10))
相关问题 更多 >
编程相关推荐