本篇内容介绍了“python多维列表总是只转为一维数组如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
# 从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多维列表总是只转为一维数组如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。