關於python中矩陣的實現和矩陣的轉置

2022-02-28 23:15:42 字數 2809 閱讀 2379

python中矩陣的實現是靠序列,,,

序列有很多形式,

其實矩陣是現實生活中的東西,把現實生活中的結構轉換到程式中。

就需要有個實現的方法,而這種路徑是多種多樣的。

下面給出乙個把矩陣轉換成python中的序列、

然後進行矩陣的轉置

# -*- coding: utf-8 -*-

#下面的測試是關於轉置的。

import numpy as np                #numpy

minvals=np.array([1,2,3])

print(minvals)

data=np.tile(minvals,(3,1))      #這裡呼叫了乙個numpy的乙個函式tile。它的作用是把minvals按照3行1列排布

print(data)       

data=data.t

print(data)

#下面是輸出結果:

[1 2 3]

[[1 2 3]

[1 2 3]

[1 2 3]]

[[1 1 1]

[2 2 2]

[3 3 3]]

#下面給乙個建立矩陣,歸一化,轉置的程式:

#

-*- coding: utf-8 -*-

def autonorm0(dataset): #

這部分是歸一化【】,按照行進行歸一化

"""行的歸一化

可以看做是光譜自身的歸一化,就是光譜的高度波動變成了0-1之間。

這個需要驗證

"""minvals=dataset.min(1) #

引數0應該是代表著按行計算.

print

(minvals)

maxvals=dataset.max(1)

ranges=maxvals-minvals #

這個是範圍

normdataset=np.zeros(np.shape(dataset))

m=dataset.shape[1] #

這個是列數

data=np.tile(minvals,(m,1))

ranges_juzhen=np.tile(ranges,(m,1))

ranges_juzhen=ranges_juzhen.t

data=data.t

normdataset=dataset-data #

因為歸一化是從0開始的,歸到0-1這個範圍裡面.

normdataset=normdataset/ranges_juzhen #

特徵值相除,,會不會出現浮點,或者除不盡的情況.???

return normdataset,ranges,minvals #

要弄懂返回來的這幾個引數是什麼???

#下面的測試是關於轉置的。

import numpy as np #

numpy

minvals=np.array([1,2,3])

print

(minvals)

data=np.tile(minvals,(3,1)) #

把序列轉換成陣列

print("

矩陣:"

)print

(data)

print

()normdataset,ranges,minvals=autonorm0(data) #

歸一化print("

矩陣歸一化結果:")

print

(normdataset)

data=data.t #

進行矩陣的轉置

print("

轉置矩陣:")

print

(data)

normdataset,ranges,minvals=autonorm0(data) #

轉置之後進行歸一化

print("

矩陣轉置後歸一化結果:")

print(normdataset)

輸出結果如下:

[1 2 3]

矩陣:[[1 2 3]

[1 2 3]

[1 2 3]]

[1 1 1]

矩陣歸一化結果:

[[0.  0.5 1. ]

[0.  0.5 1. ]

[0.  0.5 1. ]]

轉置矩陣:

[[1 1 1]

[2 2 2]

[3 3 3]]

[1 2 3]

矩陣轉置後歸一化結果:

[[nan nan nan]

[nan nan nan]

[nan nan nan]]

d:/1**/2018.0919/0919/program/0906/knn/ceshi.py:25: runtimewarning: invalid value encountered in true_divide

normdataset=normdataset/ranges_juzhen               #特徵值相除,,會不會出現浮點,或者除不盡的情況.???

python 中的列表,陣列和矩陣

numpy使用ndarray物件來處理多維陣列,該物件是乙個快速而靈活的大資料容器。使用python列表可以儲存一維陣列,通過列表的巢狀可以實現多維陣列,那麼為什麼還需要使用numpy呢?numpy是專門針對陣列的操作和運算進行了設計,所以陣列的儲存效率和輸入輸出效能遠優於python中的巢狀列表,...

python 逆矩陣 Python中的矩陣與逆矩陣

對於我正在做的乙個專案,我使用networkx adj matrix 函式將使用networkx建立的圖形分解為鄰接矩陣。然而,我遇到的乙個問題是,當我試圖求矩陣的逆時,分解的每乙個圖都會產生以下錯誤。在str traceback most recent call last file c eclip...

關於矩陣 和矩陣快速冪

矩陣相乘,就是線性代數的知識,給兩個矩陣,求出他們相乘之後的矩陣,公式就是這樣 1 include2 include3 include4 using namespace std 5const int maxn 100 6 intc maxn maxn 7int n,m,q 8int main 16 ...