广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python多维列表总是只转为一维数组问题解决
  • 229
分享到

python多维列表总是只转为一维数组问题解决

2024-04-02 19:04:59 229人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

正文 # 从X和Y中取出相应步长对应的数组并保存至x_data和y_data中 x_data = [] y_data = [] for i in range(len(K) - 24*

正文

# 从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多维列表转一维数组的资料请关注编程网其它相关文章!

--结束END--

本文标题: python多维列表总是只转为一维数组问题解决

本文链接: https://www.lsjlt.com/news/120584.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作