python - 当我的 numpy 数组应该已经有 2 个暗淡时,我如何将它转换为 2D?
问题描述
我正在尝试使用从我的数组中获取一些列
[:, x]
我的程序抱怨我的 numpy 数组不是二维的,但我很确定它是。
print(len(inputs))
给我 13715
print(len(inputs[x]))
给我 402
print(inputs.shape)
给我(13715,)
当我尝试重塑
inputs.reshape(len(inputs), len(inputs[0]))
我收到一个错误
ValueError: cannot reshape array of size 13715 into shape (13715,402)
我知道对于我的 13715 个元素中的每一个,都有 402 个子元素。
我究竟做错了什么?
解决方案
当你得到一个像 (13715,) 这样的逗号时,这意味着你有 13715 行并且没有定义列数,即不同的行是不同的。你不能重塑它,因为这样的操作没有意义。
您可以使用行号访问每个数组,就像您所做的那样:input[x]。
您可以检查每行是否具有相同的 402 长度,如下所示:
bool_check = [len(input[n])!=402 for n in range(len(input))]
sum(bool_check)
当一个元素的长度不是 402 时,你会得到一个 True。如果你加起来,那么只有当所有元素都是 402 长时,你才会得到零。否则,总和会告诉你有多少元素不是 402 长。
推荐阅读
- django - 在这种情况下,你能解释一下“query_string”和“headers”吗
- python - Python中列表的比较算法
- javascript - 如何根据字段的值更改图标类
- google-colaboratory - Google Colab 可以支持像threejs 或pythreejs 这样的图形界面吗?
- algorithm - 如何确定这段代码效率描述的递推关系
- node.js - 来自 GitHub 页面的 HTTP“发布”请求失败
- php - 在php中添加十进制年份
- python - 如何使用python对一组数据进行指数曲线拟合?
- google-apps-script - 在 Google 表格的指定表格中运行脚本
- java - 无法连接到 MariaDB (java)