将 3-D 数组重塑为 2-D

Reshape 3-d array to 2-d

提问人:AlwaysJunior 提问时间:7/1/2022 最后编辑:Ali_ShAlwaysJunior 更新时间:7/1/2022 访问量:48

问:

我想将我的数组类型更改为,但它的形状是:pd.DataFrame

array_.shape
(1, 181, 12)

我试图通过以下代码进行重塑,但没有奏效:

new_arr = np.reshape(array_, (-1, 181, 12))

如何改变它的形状?

蟒蛇 numpy

评论

1赞 imM4TT 7/1/2022
如何=>使用numpy的方法,但是你想得到什么形状?reshape
1赞 Michael Szczesny 7/1/2022
array_[0],IIUC。

答:

0赞 Cardstdani 7/1/2022 #1

您可能希望从函数中删除参数,以获得-1reshape()(181, 12)

import numpy as np

m = np.array([[[1]*12]*181])
n = np.reshape(m, (181, 12))
print(m.shape, n.shape)

输出:

(1, 181, 12) (181, 12)
2赞 Ali_Sh 7/1/2022 #2

可以使用各种方式减少 NumPy 数组维度;一些是: 使用 np.squeeze

array_.squeeze(0)

用:np.reshape

array_.reshape(array_.shape[1:])

或在以下项中使用 -1np.reshape

array_.reshape(-1, m.shape[-1])

# new_arr = np.reshape(array_, (-1, 12))    # <==   change to your code

用作什琴斯尼的评论indexing

array_[0]