NumPy簡明教程(二 陣列1)

2021-08-20 19:42:15 字數 2964 閱讀 8442

numpy陣列是乙個多維陣列物件,稱為ndarray。其由兩部分組成:

大部分操作僅針對於元資料,而不改變底層實際的資料。

關於numpy陣列有幾點必需了解的:

在詳細介紹numpy陣列之前。先詳細介紹下numpy陣列的基本屬性。numpy陣列的維數稱為秩(rank),一維陣列的秩為1,二維陣列的秩為2,以此類推。在numpy中,每乙個線性的陣列稱為是乙個軸(axes),秩其實是描述軸的數量。比如說,二維陣列相當於是兩個一維陣列,其中第乙個一維陣列中每個元素又是乙個一維陣列。所以一維陣列就是numpy中的軸(axes),第乙個軸相當於是底層陣列,第二個軸是底層陣列裡的陣列。而軸的數量——秩,就是陣列的維數。

numpy的陣列中比較重要ndarray物件屬性有:

ndarray.ndim:陣列的維數(即陣列軸的個數),等於秩。最常見的為二維陣列(矩陣)。

[python]view plain

copy

print

?

>>> a = arange(6)                         # 1d array

>>> print a  [01

2345]  

>>> b = arange(12).reshape(4,3)           # 2d array

>>> print b  

[[ 0

12]  

[ 34

5]  

[ 67

8]  

[ 910

11]]     

>>> c = arange(24).reshape(2,3,4)         # 3d array

>>> print c  

[[[ 012

3]  

[ 45

67]  

[ 89

1011]]  

[[12

1314

15]  

[1617

1819]  

[2021

2223]]]  

>>> a = arange(6)                         # 1d array

>>> print a

[0 1 2 3 4 5]

>>> b = arange(12).reshape(4,3) # 2d array

>>> print b

[[ 0 1 2]

[ 3 4 5]

[ 6 7 8]

[ 9 10 11]]   

>>> c = arange(24).reshape(2,3,4) # 3d array

>>> print c

[[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

[[12 13 14 15]

[16 17 18 19]

[20 21 22 23]]]

[python]view plain

copy

print

?

>>> print arange(10000)  

[   0

12 …, 9997

9998

9999]  

>>> print arange(10000).reshape(100,100)  

[[   0

12 …,   97

9899]  

[ 100

101102 …,  197

198199]  

[ 200

201202 …,  297

298299]  

…,  

[9700

9701

9702 …, 9797

9798

9799]  

[9800

9801

9802 …, 9897

9898

9899]  

[9900

9901

9902 …, 9997

9998

9999]]  

>>> print arange(10000)

[ 0 1 2 ..., 9997 9998 9999]

>>> print arange(10000).reshape(100,100)

[[ 0 1 2 ..., 97 98 99]

[ 100 101 102 ..., 197 198 199]

[ 200 201 202 ..., 297 298 299]

...,

[9700 9701 9702 ..., 9797 9798 9799]

[9800 9801 9802 ..., 9897 9898 9899]

[9900 9901 9902 ..., 9997 9998 9999]]

可通過 設定printoptions引數來

禁用numpy的這種行為並強制列印整個陣列。

[python]view plain

copy

print

?

set_printoptions(threshold=『nan』)  

set_printoptions(threshold='nan')

這樣,輸出時陣列的所有元素都會顯示出來。

未完待續,如有錯誤,敬請指正!

《numpy for beginner》

《python科學計算》

《tentative numpy tutorial》

numpy簡明教程 1

讀的是numpy user guide release 1.3,官方另有一本reference,600多頁,還是先讀這個省事兒的。凡例 a.float 表示物件型別是float,用時不用加 和 b.中的跳格表示換行。chap 2 numpy basics 1.import numpy as np,沿...

numpy簡明教程 2

31.第二個引數型別是tuple,僅在將structure對映到乙個已有的資料型別上時使用,即在tuple裡已有的資料型別以及資料型別定義,比如 x zeros 3,dtype i4 r u1 g u1 b u1 a u1 這樣就覆蓋了預設名稱 f0,f1之類 不過返回沒搞明白,為啥是乙個1 3的a...

NumPy簡明教程(一 簡介)

用python在arcgis的開發中,對numpy的接觸越來越多,從現在開始就將以前的numpy筆記整理一下,慢慢放出來。供有需要的朋友參考。python 中提供了list 容器,可以當作陣列使用。但列表中的元素可以是任何物件,因此列表中儲存的是物件的指標,這樣一來,為了儲存乙個簡單的列表 1,2,...