Re: [问题] Numpy shape问题

楼主: skyconquer (梅郭曲)   2020-06-03 18:06:26
※ 引述《s90104123 (也许当时忙着微笑和哭泣)》之铭言:
: 我有两个都是1*3矩阵
: [[0, 1, 0, 1, 0], [0, 0, 0, 0, 1], [0, 1, 1, 0, 1]]
: [[1, 0, 1, 0, 1], [0, 1, 0, 1, 0],[1, 0, 1, 0, 1]]
: 把一个变成转置矩阵
: 3*1和1*3矩阵
: 变成各个元素相乘的3*3矩阵
: https://i.imgur.com/5ptSPaZ.jpg
: 但是在numpy他好像把他看成3*5
: https://i.imgur.com/3qxpx4o.jpg
: 请问有什么改法吗?
请试试看以下方法看合不合用。
=========================== 程式码分隔线 ====================================
import numpy as np
array_1 = np.array([[[0, 1, 0, 1, 0]], [[0, 0, 0, 0, 1]], [[0, 1, 1, 0, 1]]])
## ^ ^ ^ ^ ^ ^
## 在标注的地方各加上一个中括号。
array_2 = np.array([[[1, 0, 1, 0, 1]], [[0, 1, 0, 1, 0]], [[1, 0, 1, 0, 1]]])
## ^ ^ ^ ^ ^ ^
## 在标注的地方各加上一个中括号。
## 检查各元素,可以发现变成一个三列一行的矩阵,
## 每一个元素是有五个数字的array
print(array_1[0][0],"\n")
print(array_1[1][0],"\n")
print(array_1[2][0],"\n")
## 测试 reshape 后的矩阵。
## 检查各元素,可以发现变成一个一列三行的矩阵,
## 每一个元素是有五个数字的array
arr =array_1.reshape(1,3,5)
print(arr[0][0],"\n")
print(arr[0][1],"\n")
print(arr[0][2],"\n")
作者: s90104123 (也许当时忙着微笑和哭泣)   2020-06-03 19:10:00
刚刚测试有成功了 感谢
楼主: skyconquer (梅郭曲)   2020-06-03 20:39:00
不会 :)

Links booklink

Contact Us: admin [ a t ] ucptt.com