python - 如何在不使用 Python 重塑的情况下更改矩阵的维度
问题描述
下面是 (3*3) 的矩阵
a_matrix=np.array([[2,3,5],[3,2,7],[1,4,2]])
我想把它改成 (9*1) 这是
[[2],[3],[5],[3],[2],[7],[1],[4],[2]]
问题是我需要在不使用 numpy 中的 reshape 方法的情况下执行此操作。顺便说一句,以下是我所做的,这是错误的。有人可以帮我吗?顺便说一句,**我不能使用那些预定义的方法来做到这一点,我必须通过我自己的方法来实现它。**.任何帮助表示赞赏!
import numpy as np
a_list=[]
a_matrix=np.array([[2,3,5],[3,2,7],[1,4,2]]) #3*3 matrix
for i in range(3):
a_list.extend(a_matrix[i,:])
a_list=np.asarray(a_list) #To convert the list to numpy array
print(a_list.T.shape) #To print the shape of transpose
--->(9,) # 我想要 (9,1) 而不是 (9,)
解决方案
展平它并使用列表理解
result = np.array([[x] for x in a_matrix.ravel()])
推荐阅读
- r - 安装 xgboost h2o r
- python - 在格子中计算大小为 l 的窗口中的节点
- c# - 无法使用随机数生成器和 if 语句将类型“int”隐式转换为“bool”
- python - 以下代码行是什么意思以及python解释器如何处理这个
- c# - Swashbuckle 没有在 PCF 上定义操作。工作本地开发
- terraform - aws_elasticache_replication_group 资源与 aws 提供程序版本 2.15 的使用
- java - 如何为流数据创建 Flux/Publisher
- java - if 语句中不考虑布尔方法返回
- keras - Keras 自定义损失函数与 Lambda 层
- php - 如何使用 php 发送单个 XMPP 消息