如何在Python中将数组内的元素转换为数组?NumPy数组转换示例
在Python中转换NumPy数组为单列二维数组
要把一维NumPy数组转换为每个元素都是单元素子数组的二维数组,有几种简单的实现方式:
方法1:使用reshape方法
reshape是NumPy数组的内置方法,可直接调整数组形状:
import numpy as np arr = np.array([1,1,1,1]) new_arr = arr.reshape(-1, 1) print(new_arr) # 输出: # [[1] # [1] # [1] # [1]]
这里-1让NumPy自动计算该维度的长度,1指定每个子数组的元素个数。
方法2:使用np.newaxis增加维度
np.newaxis可在指定位置插入新维度:
import numpy as np arr = np.array([1,1,1,1]) new_arr = arr[:, np.newaxis] print(new_arr)
[:, np.newaxis]保留原数组所有元素,并在列位置增加一个维度。
方法3:使用np.expand_dims函数
np.expand_dims可明确指定扩展的维度:
import numpy as np arr = np.array([1,1,1,1]) new_arr = np.expand_dims(arr, axis=1) print(new_arr)
axis=1表示在列维度上扩展,将一维数组转为二维单列数组。
内容的提问来源于stack exchange,提问作者alexthegreat
相关产品推荐
相关产品推荐

