NumPy中转置列向量如何直接得到一维数组而非嵌套数组?
解决NumPy列向量转置后生成一维数组的方法
使用
flatten()方法:直接展平多维数组为一维,返回新数组import numpy as np col_vec = np.array([[1.],[2.],[3.]]) result = col_vec.T.flatten() # 输出:array([1., 2., 3.])使用
ravel()方法:返回原数组的视图(内存更高效),同样实现展平result = col_vec.T.ravel() # 输出:array([1., 2., 3.])直接索引提取:转置后的数组是二维结构,取第一个元素即可得到一维数组
result = col_vec.T[0] # 输出:array([1., 2., 3.])使用
reshape(-1):让NumPy自动推导一维数组的长度result = col_vec.T.reshape(-1) # 输出:array([1., 2., 3.])用
np.squeeze()去冗余维度:无需先转置,直接移除数组中长度为1的维度result = np.squeeze(col_vec) # 输出:array([1., 2., 3.])
内容的提问来源于stack exchange,提问作者kharsair
相关产品推荐
相关产品推荐

