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

首頁 > 編程 > Python > 正文

對numpy中軸與維度的理解

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

NumPy's main object is the homogeneous multidimensional array. It is a table of elements (usually numbers), all of the same type, indexed by a tuple of positive integers. In NumPy dimensions are called axes. The number of axes is rank.

For example, the coordinates of a point in 3D space [1, 2, 1] is an array of rank 1, because it has one axis. That axis has a length of 3. In the example pictured below, the array has rank 2 (it is 2-dimensional). The first dimension (axis) has a length of 2, the second dimension has a length of 3.

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

ndarray.ndim

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

>> X = np.reshape(np.arange(24), (2, 3, 4))  # 也即 2 行 3 列的 4 個平面(plane)>> Xarray([[[ 0, 1, 2, 3],    [ 4, 5, 6, 7],    [ 8, 9, 10, 11]],    [[12, 13, 14, 15],    [16, 17, 18, 19],    [20, 21, 22, 23]]])

shape函數是numpy.core.fromnumeric中的函數,它的功能是讀取矩陣的長度,比如shape[0]就是讀取矩陣第一維度的長度。

shape(x)

(2,3,4)

shape(x)[0]

2

或者

x.shape[0]

2

再來分別看每一個平面的構成:

>> X[:, :, 0]array([[ 0, 4, 8],    [12, 16, 20]])>> X[:, :, 1]array([[ 1, 5, 9],    [13, 17, 21]])>> X[:, :, 2]array([[ 2, 6, 10],    [14, 18, 22]])>> X[:, :, 3]array([[ 3, 7, 11],    [15, 19, 23]])

也即在對 np.arange(24)(0, 1, 2, 3, ..., 23) 進行重新的排列時,在多維數組的多個軸的方向上,先分配最后一個軸(對于二維數組,即先分配行的方向,對于三維數組即先分配平面的方向)

reshpae,是數組對象中的方法,用于改變數組的形狀。

二維數組

#!/usr/bin/env python # coding=utf-8 import numpy as np  a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) print a d=a.reshape((2,4)) print d 

三維數組

#!/usr/bin/env python # coding=utf-8 import numpy as np  a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) print a f=a.reshape((2, 2, 2)) print f 

形狀變化的原則是數組元素不能發生改變,比如這樣寫就是錯誤的,因為數組元素發生了變化。

#!/usr/bin/env python # coding=utf-8 import numpy as np  a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) print a print a.dtype e=a.reshape((2,2)) print e 

注意:通過reshape生成的新數組和原始數組公用一個內存,也就是說,假如更改一個數組的元素,另一個數組也將發生改變。

#!/usr/bin/env python # coding=utf-8 import numpy as np  a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) print a e=a.reshape((2, 4)) print e a[1]=100 print a print e             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德阳市| 民丰县| 道真| 两当县| 天津市| 东光县| 繁峙县| 桓台县| 天柱县| 喀喇沁旗| 思南县| 镇巴县| 化州市| 大关县| 察隅县| 日喀则市| 舞阳县| 章丘市| 原平市| 康马县| 渝北区| 那曲县| 镇安县| 富锦市| 资阳市| 锡林浩特市| 永和县| 永定县| 牟定县| 保亭| 兰西县| 林甸县| 宜春市| 枣庄市| 四川省| 密云县| 景德镇市| 茶陵县| 克拉玛依市| 札达县| 绥江县|