【发布时间】:2018-08-28 16:59:43
【问题描述】:
我有两个 numpy 数组
data_0.shape = (500, 52) 和
data_3.shape = (480, 52)
我正在尝试通过以特殊方式连接上述两个数组来创建一个新数组。到目前为止,我一直像这样手动执行此操作。
data_train = np.concatenate((data_0[:50],data_3[:50],data_0[50:100],data_3[50:100],data_0[100:150],data_3[100:150],
data_0[150:200],data_3[150:200],data_0[200:250],data_3[200:250],data_0[250:300],data_3[250:300],
data_0[300:350],data_3[300:350],data_0[350:400],data_3[350:400],data_0[400:450],data_3[400:450],
data_0[450:],data_3[450:]))
如你所见,我基本上是从 data_0 和 data_3 中各取 50 个值,并将它们连接在一起得到新的数组 data_train,其形状如下。
data_train.shape = (980, 52)
此过程非常耗时,我正在尝试自动执行此任务。这就是我的代码的样子,但我对如何同时循环遍历这两个数组以及如何通过交替从两个数组中获取 50 个值来连接它们感到困惑?
j = 0
k = 10
data_train = []
data_train.append(np.concatenate((data_0[j:k],data_3[j:k])))
j = j+10
k = k+10
data_train = np.array(data_train)
我应该如何在这里启动 for 循环?
【问题讨论】:
标签: python arrays numpy for-loop