【问题标题】:ValueError: cannot reshape array of size 9205760 into shape (2500)ValueError:无法将大小为 9205760 的数组重新整形为形状(2500)
【发布时间】:2022-10-01 19:42:30
【问题描述】:

我想从我的实际数组大小9205760 创建 2500 大小的窗口。此外,这个数组大小也会根据我测试的新记录而有所不同。

我想要的是,它会自动调整最后一个窗口并保持所有剩余的窗口 2500 大小。怎么做 ?

import numpy as np

arr = np.array(np.random.randint(1,5,9205760))
print(len(arr))

sig_frames=np.reshape(arr,(-1,10*250))

错误

ValueError: cannot reshape array of size 9205760 into shape (2500)
  • 调整数组的大小是一个定义不明确的话题。显然,您可以通过索引获取值的子集。但通常人们希望保留数组的某种属性。如果数组是从图像派生的,则使用图像软件调整它的大小。

标签: python numpy


【解决方案1】:

9205760 不会在没有提醒的情况下除以 2500,这就是为什么你不能把它铸成那个形状的原因。如果您需要 2500 个维度,请确保您拥有的数据是该数字的倍数。

【讨论】:

  • 是的,它不会在没有提醒的情况下分割 2500。我可能会跳过提醒值并仅考虑可能的 2500 个窗口
  • 你可以做new_arr = arr[:9205000] 并重塑它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-02
  • 2021-03-20
  • 2021-03-21
  • 2018-10-22
  • 2019-11-29
相关资源
最近更新 更多