调整二维NumPy数组形状:将子列表视为单个元素转为2×2网格
NumPy数组形状调整:转为2×2网格(每个元素为有序对)
你现有的NumPy数组形状为(4, 2):
import numpy as np arr = np.array([[-2., -2.], [ 2., -2.], [-2., 2.], [ 2., 2.]])
需要将其调整为2×2的网格结构,每个元素是长度为2的有序对(最终数组形状为(2, 2, 2))。
解决方案
直接使用NumPy的reshape()方法指定目标形状即可:
reshaped_arr = arr.reshape(2, 2, 2)
验证结果
打印转换后的数组:
print(reshaped_arr)
输出结构如下:
[[[-2. -2.] [ 2. -2.]] [[-2. 2.] [ 2. 2.]]]
说明
reshape()会在不修改原始数据的前提下重新排列元素,(2, 2, 2)的形状定义对应:外层是2行2列的网格,每个网格位置存储一个包含2个元素的有序对。
内容的提问来源于stack exchange,提问作者Hydrolox
相关产品推荐
相关产品推荐

