Python中使用np.transpose转置数组无法得到垂直输出如何解决
问题原因
- 方法名拼写错误:你写的
np.tranpose是错的,正确的NumPy转置方法名是np.transpose,注意中间少了字母s。 - 操作对象类型错误:你直接对Python原生列表调用NumPy转置方法,没有先转换为NumPy数组,执行逻辑不符合预期。
- 维度问题:一维数组在NumPy中没有行列维度的区分,直接对一维数组转置结果还是原一维数组,不会变成你想要的垂直排列的列向量。
- 你当前得到11个0的输出和你贴出的代码逻辑不符,按你贴的
someArray = [10]不可能得到该输出,请检查你实际运行的代码中数组初始化部分是否有写错。
正确实现代码
要得到垂直排列的列向量形式的转置结果,可参考以下写法:
import numpy as np # 方案1:将数组升为二维后转置 some_arr = np.array([[10]]) print(np.transpose(some_arr)) # 方案2:直接通过reshape转为列向量,不需要调用转置方法 some_arr = np.array([10]) print(some_arr.reshape(-1, 1))
运行输出
[[10]]
内容的提问来源于stack exchange,提问作者user12973562
相关产品推荐
相关产品推荐

