如何将维度为(4,1)的数组转换为维度为(4,2)的数组
数组维度转换方案
以下是两种常见场景下的实现方法:
1. NumPy环境实现(数值计算场景首选)
你描述的(4,1)维度数组本质是4行1列结构,每个位置存储2个数值,直接调用reshape方法即可完成转换:
import numpy as np # 构造符合你描述的原始数组 origin_arr = np.array([[[0,0]], [[0,1]], [[1,0]], [[1,1]]]) print("原始数组维度:", origin_arr.shape) # 输出 (4, 1, 2),对应你说的4行1列结构 # 执行维度转换 target_arr = origin_arr.reshape(4, 2) print("转换后数组维度:", target_arr.shape) # 输出 (4, 2) print(target_arr)
运行后输出的结果和你要求的完全一致:
[[0 0] [0 1] [1 0] [1 1]]
如果你的原始数组是dtype=object的(4,1)数组,每个元素为独立的二元序列,可使用如下写法:
target_arr = np.array(origin_arr.tolist()).reshape(4, 2)
2. Python原生列表实现
如果不需要引入第三方库,直接用列表推导式展开内层嵌套即可:
# 原始(4,1)结构嵌套列表 origin_list = [[[0,0]], [[0,1]], [[1,0]], [[1,1]]] # 展开内层结构完成转换 target_list = [item[0] for item in origin_list] print(target_list) # 输出:[[0, 0], [0, 1], [1, 0], [1, 1]]
内容的提问来源于stack exchange,提问作者Simplicity
相关产品推荐
相关产品推荐

