【问题标题】:How to reshape a 3-D array to 2-D in python?如何在 python 中将 3-D 数组重塑为 2-D?
【发布时间】:2021-04-01 03:52:48
【问题描述】:

我正在使用时间序列数据管道。 我创建了一个序列列表作为 序列=列表() 然后我在每次迭代中附加形状为 (30,201) 的数组项,其中 30 是行数,201 是我的特征长度。项目总数约为 2000。最后,我将列表转换为数组

3Darray=np.stack(sequences) # I also tried np.array(sequences) as well

现在,我的数组的形状为 (2000,30,201)。 我想用形状(2000*30,201)恢复我原来的二维特征数据。但是当我尝试

3Darray.resahpe(3Darray.shape[0]*3Darray.shape[1],201) 
3Darray.shape

形状不会发生变化。我在这里做错了什么?

我尝试关注this SO 的回答,但我确实成功了。

【问题讨论】:

    标签: python arrays


    【解决方案1】:

    您应该将3Darray.resahpe(3Darray.shape[0]*3Darray.shape[1],201) 的结果分配给一个新变量,请参阅reshape 的文档: 如果可能,这将是一个新的视图对象;否则,它将是一个副本。请注意,不保证返回数组的内存布局(C 或 Fortran 连续)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      • 2015-11-23
      相关资源
      最近更新 更多