国产探花免费观看_亚洲丰满少妇自慰呻吟_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             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临朐县| 南郑县| 罗甸县| 临海市| 祁阳县| 张家界市| 贡嘎县| 红安县| 芷江| 永新县| 祁阳县| 绥芬河市| 全州县| 佛坪县| 廉江市| 柘荣县| 锡林郭勒盟| 黄冈市| 株洲县| 恩平市| 江口县| 姜堰市| 正安县| 濉溪县| 德格县| 龙口市| 周至县| 呼和浩特市| 普兰县| 离岛区| 阜阳市| 庐江县| 江华| 桓仁| 仁布县| 南汇区| 双流县| 南涧| 镶黄旗| 呈贡县| 昌宁县|