欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Numpy創(chuàng)建NumPy矩陣的簡單實現(xiàn)

 更新時間:2023年02月10日 11:10:32   作者:mighty13  
本文主要介紹了Numpy創(chuàng)建NumPy矩陣的簡單實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

創(chuàng)建NumPy矩陣

NumPy對于多維數(shù)組的運算,默認情況下并不進行矩陣運算。如果需要對數(shù)組進行矩陣運算,則可以調(diào)用相應(yīng)的函數(shù)。

在NumPy中,矩陣是ndarray的子類。

在NumPy中,數(shù)組和矩陣有著重要的區(qū)別。NumPy提供了兩個基本的對象:一個N維數(shù)組對象和一個通用函數(shù)對象。其他對象都是在它們之上構(gòu)建的。

矩陣是繼承自NumPy數(shù)組對象的二維數(shù)組對象。與數(shù)學概念中的矩陣一樣,NumPy中的矩陣也是二維的。

1. 創(chuàng)建矩陣

可以使用mat、matrix以及bmat函數(shù)來創(chuàng)建矩陣。使用mat函數(shù)創(chuàng)建矩陣時,若輸入matrix或ndarray對象,則不會為它們創(chuàng)建副本。因此,調(diào)用mat函數(shù)和調(diào)用matrix(data, copy=False)等價。

案例:創(chuàng)建矩陣

# 導入NumPy庫
import numpy as np
# 使用分號隔開數(shù)據(jù)
matr1 = np.mat("1 2 3;4 5 6;7 8 9")
print('創(chuàng)建的矩陣為:',matr1)
# 使用列表創(chuàng)建矩陣
matr2 = np.matrix([[1,2,3],[4,5,6],[7,8,9]])
print('創(chuàng)建的矩陣為:',matr2)

創(chuàng)建的矩陣為: [[1 2 3]
 [4 5 6]
 [7 8 9]]
創(chuàng)建的矩陣為: [[1 2 3]
 [4 5 6]
 [7 8 9]]

2. 創(chuàng)建分塊矩陣

很多時候會根據(jù)小的矩陣創(chuàng)建大的矩陣,即將小矩陣組合成大矩陣。在NumPy中,可以使用bmat分塊矩陣(block matrix)函數(shù)實現(xiàn)。

案例:創(chuàng)建分塊矩陣

arr1 = np.eye(3)
print('創(chuàng)建的數(shù)組1為:',arr1)

arr2 = 3*arr1
print('創(chuàng)建的數(shù)組2為:',arr2)

print('創(chuàng)建的矩陣為:',np.bmat("arr1 arr2; arr1 arr2"))

創(chuàng)建的數(shù)組1為: [[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
創(chuàng)建的數(shù)組2為: [[3. 0. 0.]
 [0. 3. 0.]
 [0. 0. 3.]]
創(chuàng)建的矩陣為: [[1. 0. 0. 3. 0. 0.]
 [0. 1. 0. 0. 3. 0.]
 [0. 0. 1. 0. 0. 3.]
 [1. 0. 0. 3. 0. 0.]
 [0. 1. 0. 0. 3. 0.]
 [0. 0. 1. 0. 0. 3.]]

3. 矩陣計算

在NumPy中,矩陣計算是針對整個矩陣中的每個元素進行的。與使用for循環(huán)相比,其在運算速度上更快。

案例:矩陣計算

matr1 = np.mat("1 2 3;4 5 6;7 8 9") ?#創(chuàng)建矩陣
print('創(chuàng)建的矩陣為:',matr1)

matr2 = matr1*3 ?#矩陣與數(shù)相乘
print('創(chuàng)建的矩陣為:',matr2)
print('矩陣相加結(jié)果為:',matr1+matr2) ?#矩陣相加
print('矩陣相減結(jié)果為:',matr1-matr2) ?#矩陣相減
print('矩陣相乘結(jié)果為:',matr1*matr2) ?#矩陣相乘
print('矩陣對應(yīng)元素相乘結(jié)果為:',np.multiply(matr1,matr2))

創(chuàng)建的矩陣為: [[1 2 3]
 [4 5 6]
 [7 8 9]]
創(chuàng)建的矩陣為: [[ 3  6  9]
 [12 15 18]
 [21 24 27]]
矩陣相加結(jié)果為: [[ 4  8 12]
 [16 20 24]
 [28 32 36]]
矩陣相減結(jié)果為: [[ -2  -4  -6]
 [ -8 -10 -12]
 [-14 -16 -18]]
矩陣相乘結(jié)果為: [[ 90 108 126]
 [198 243 288]
 [306 378 450]]
矩陣對應(yīng)元素相乘結(jié)果為: [[  3  12  27]
 [ 48  75 108]
 [147 192 243]]

4. 矩陣屬性

除了能夠?qū)崿F(xiàn)各類運算外,矩陣還有其特有的屬性。

屬性說明
T返回自身的轉(zhuǎn)置
H返回自身的共軛轉(zhuǎn)置
I返回自身的逆矩陣
A返回自身數(shù)據(jù)的2維數(shù)組的一個視圖

案例:矩陣的屬性

print('矩陣轉(zhuǎn)置結(jié)果為:',matr1.T)  #轉(zhuǎn)置
print('矩陣共軛轉(zhuǎn)置結(jié)果為:',matr1.H)  #共軛轉(zhuǎn)置(實數(shù)的共軛就是其本身)
print('矩陣的二維數(shù)組結(jié)果為:',matr1.A)  #返回二維數(shù)組的視圖
print('矩陣的逆矩陣結(jié)果為:',matr1.I)  #逆矩陣

矩陣轉(zhuǎn)置結(jié)果為: [[ 2  1 -1]
 [ 2 -1  2]
 [ 3  0  1]]
矩陣共軛轉(zhuǎn)置結(jié)果為: [[ 2  1 -1]
 [ 2 -1  2]
 [ 3  0  1]]
矩陣的二維數(shù)組結(jié)果為: [[ 2  2  3]
 [ 1 -1  0]
 [-1  2  1]]
矩陣的逆矩陣結(jié)果為: [[ 1. -4. -3.]
 [ 1. -5. -3.]
 [-1.  6.  4.]]

到此這篇關(guān)于Numpy創(chuàng)建NumPy矩陣的簡單實現(xiàn)的文章就介紹到這了,更多相關(guān)Numpy創(chuàng)建NumPy矩陣內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python實現(xiàn)報表自動化并發(fā)送到郵箱

    基于Python實現(xiàn)報表自動化并發(fā)送到郵箱

    作為數(shù)據(jù)分析師,我們需要經(jīng)常制作統(tǒng)計分析圖表。但是報表太多的時候往往需要花費我們大部分時間去制作報表。本文將利用Python實現(xiàn)報表自動化并發(fā)送到郵箱,需要的可以參考一下
    2022-07-07
  • python 不以科學計數(shù)法輸出的方法

    python 不以科學計數(shù)法輸出的方法

    今天小編就為大家分享一篇python 不以科學計數(shù)法輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python如何實現(xiàn)FTP功能

    Python如何實現(xiàn)FTP功能

    在本篇文章里小編給大家整理的是關(guān)于Python實現(xiàn)的簡易FTP的實例內(nèi)容,有興趣的朋友們可以參考下。
    2020-05-05
  • Python數(shù)組定義方法

    Python數(shù)組定義方法

    這篇文章主要介紹了Python數(shù)組定義方法,結(jié)合實例形式分析了Python一維數(shù)組與二維數(shù)組的定義方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-04-04
  • Python的sqlite3模塊中常用函數(shù)

    Python的sqlite3模塊中常用函數(shù)

    sqlite3模塊是Python中的內(nèi)置模塊,用于與SQLite數(shù)據(jù)庫交互,本文就來介紹一下Python的sqlite3模塊中常用函數(shù),感興趣的可以了解一下
    2023-10-10
  • 教女朋友學Python(一)運行環(huán)境搭建

    教女朋友學Python(一)運行環(huán)境搭建

    這篇文章主要介紹了教女朋友學Python(一)運行環(huán)境搭建,具有一定借鑒價值,需要的朋友可以參考下。
    2017-11-11
  • 利用Django模版生成樹狀結(jié)構(gòu)實例代碼

    利用Django模版生成樹狀結(jié)構(gòu)實例代碼

    這篇文章主要給大家介紹了關(guān)于利用Django模版生成樹狀結(jié)構(gòu)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Django具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • Python讀取ini配置文件傳參的簡單示例

    Python讀取ini配置文件傳參的簡單示例

    這篇文章主要給大家介紹了關(guān)于Python讀取ini配置文件傳參的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • python爬蟲之快速對js內(nèi)容進行破解

    python爬蟲之快速對js內(nèi)容進行破解

    這篇文章主要介紹了python爬蟲之快速對js內(nèi)容進行破解,到一般js破解有兩種方法,一種是用Python重寫js邏輯,一種是利用第三方庫來調(diào)用js內(nèi)容獲取結(jié)果,這次我們就用第三方庫來進行js破解,需要的朋友可以參考下
    2019-07-07
  • Python基礎(chǔ)篇之初識Python必看攻略

    Python基礎(chǔ)篇之初識Python必看攻略

    下面小編就為大家?guī)硪黄狿ython基礎(chǔ)篇之初識Python必看攻略。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06

最新評論