国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

基于Python Numpy的數組array和矩陣matrix詳解

2020-02-22 23:35:31
字體:
來源:轉載
供稿:網友

NumPy的主要對象是同種元素的多維數組。這是一個所有的元素都是一種類型、通過一個正整數元組索引的元素表格(通常是元素是數字)。

在NumPy中維度(dimensions)叫做軸(axes),軸的個數叫做秩(rank,但是和線性代數中的秩不是一樣的,在用python求線代中的秩中,我們用numpy包中的linalg.matrix_rank方法計算矩陣的秩,例子如下)。

結果是:

線性代數中秩的定義:設在矩陣A中有一個不等于0的r階子式D,且所有r+1階子式(如果存在的話)全等于0,那末D稱為矩陣A的最高階非零子式,數r稱為矩陣A的秩,記作R(A)。

numpy中數組和矩陣的區別:

matrix是array的分支,matrix和array在很多時候都是通用的,你用哪一個都一樣。但這時候,官方建議大家如果兩個可以通用,那就選擇array,因為array更靈活,速度更快,很多人把二維的array也翻譯成矩陣。

但是matrix的優勢就是相對簡單的運算符號,比如兩個矩陣相乘,就是用符號*,但是array相乘不能這么用,得用方法.dot()

array的優勢就是不僅僅表示二維,還能表示3、4、5...維,而且在大部分Python程序里,array也是更常用的。

現在我們討論numpy的多維數組

例如,在3D空間一個點的坐標[1, 2, 3]是一個秩為1的數組,因為它只有一個軸。那個軸長度為3.又例如,在以下例子中,數組的秩為2(它有兩個維度).第一個維度長度為2,第二個維度長度為3.

[[ 1., 0., 0.], [ 0., 1., 2.]] 

NumPy的數組類被稱作ndarray。通常被稱作數組。注意numpy.array和標準Python庫類array.array并不相同,后者只處理一維數組和提供少量功能。更多重要ndarray對象屬性有:

ndarray.ndim

數組軸的個數,在python的世界中,軸的個數被稱作秩

ndarray.shape

數組的維度。這是一個指示數組在每個維度上大小的整數元組。例如一個n排m列的矩陣,它的shape屬性將是(2,3),這個元組的長度顯然是秩,即維度或者ndim屬性

ndarray.size

數組元素的總個數,等于shape屬性中元組元素的乘積。

ndarray.dtype

一個用來描述數組中元素類型的對象,可以通過創造或指定dtype使用標準Python類型。另外NumPy提供它自己的數據類型。

ndarray.itemsize

數組中每個元素的字節大小。例如,一個元素類型為float64的數組itemsiz屬性值為8(=64/8),又如,一個元素類型為complex32的數組item屬性為4(=32/8).

ndarray.data

包含實際數組元素的緩沖區,通常我們不需要使用這個屬性,因為我們總是通過索引來使用數組中的元素。

一個例子1

>>> from numpy import *>>> a = arange(15).reshape(3, 5)>>> aarray([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])>>> a.shape(3, 5)>>> a.ndim2>>> a.dtype.name'int32'>>> a.itemsize4>>> a.size15>>> type(a)numpy.ndarray>>> b = array([6, 7, 8])>>> barray([6, 7, 8])>>> type(b)numpy.ndarray             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊吾县| 淳化县| 南昌县| 中宁县| 鄂尔多斯市| 潮安县| 天峻县| 新邵县| 庄河市| 隆尧县| 凤山县| 苍南县| 宁远县| 山丹县| 辽阳市| 宜宾县| 彝良县| 玉龙| 吴江市| 共和县| 普定县| 沾益县| 都江堰市| 林周县| 依安县| 玉田县| 麻江县| 库伦旗| 石嘴山市| 呼玛县| 工布江达县| 凤阳县| 凌海市| 苍南县| 宜春市| 东平县| 凌云县| 鱼台县| 蒲江县| 武隆县| 宁阳县|