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