如何使用np.reshape()将一维Numpy数组按列形式打印?
嘿,这个问题我熟!要把一维Numpy数组转成列形式打印,用np.reshape()其实很简单,给你两种靠谱的写法:
方案1:明确指定行和列的数量
假设你的一维数组叫arr,直接用arr.reshape(arr.size, 1)就行。这里arr.size会返回数组的总元素数,这样就把数组重塑成N行1列的二维数组,打印出来就是标准的列形式。
举个实际例子:
import numpy as np arr = np.array([10, 20, 30, 40]) col_arr = arr.reshape(arr.size, 1) print(col_arr)
输出效果:
[[10] [20] [30] [40]]
方案2:用-1让Numpy自动推断维度
如果你不想手动计算元素数量,直接写arr.reshape(-1, 1)就更省心。-1在这里的作用是告诉Numpy:「根据另一个维度的数值,自动算出这个维度该有多大」。同样的例子,这样写效果和上面完全一致,代码更简洁。
要是你只是临时打印不想修改原数组,甚至可以直接这么写:
print(arr.reshape(-1, 1))
本质上,一维数组的形状是(N,),打印时会默认排成一行;而重塑后的数组形状是(N,1),属于二维列向量,Numpy打印时就会按列的格式输出。
内容的提问来源于stack exchange,提问作者Jimmy
相关产品推荐
相关产品推荐

