python多维列表总是只转为一维数组问题解决
短信预约 -IT技能 免费直播动态提醒
正文
# 从X和Y中取出相应步长对应的数组并保存至x_data和y_data中
x_data = []
y_data = []
for i in range(len(K) - 24*n + 1):
x_data.append(X[i:i + 24*n, :])
y_data.append(Y[i + 24 * n:i + 24 * n + 24 * n, :])
# 将x_data和y_data转为ndarray
n_train_hours = 24*365
x_train = np.array(x_data)[: n_train_hours, :, :]
y_train = np.array(y_data)[: n_train_hours, :, :]
12345678910
上述代码最后一排报错
该报错是指y_data转为array之后变成了一维数组,而我要取三维的数据,两者维度不符合。
于是我做了这样一个工作:
# 检查y_data中的每个二维数组的shape
for i in range(len(y_data)):
print(y_data[i].shape)
123
得到如下输出:
原本y_data当中应该所有数组是同样的shape,即(216,1),但通过循环打印发现shape不一致,导致多维列表转成了一维数组,出现了上述报错。
最终发现问题来源于循环,改为以下代码:
x_data = []
y_data = []
for i in range(len(Y) - 24 * n - 24 * n + 1):
x_data.append(X[i:i + 24*n, :])
y_data.append(Y[i + 24*n:i + 24*n + 24*n, :])
12345
以上就是python多维列表总是只转为一维数组问题解决的详细内容,更多关于python多维列表转一维数组的资料请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341