numpy陣列是乙個多維陣列物件,稱為ndarray。其由兩部分組成:
大部分操作僅針對於元資料,而不改變底層實際的資料。
關於numpy陣列有幾點必需了解的:
在詳細介紹numpy陣列之前。先詳細介紹下numpy陣列的基本屬性。numpy陣列的維數稱為秩(rank),一維陣列的秩為1,二維陣列的秩為2,以此類推。在numpy中,每乙個線性的陣列稱為是乙個軸(axes),秩其實是描述軸的數量。比如說,二維陣列相當於是兩個一維陣列,其中第乙個一維陣列中每個元素又是乙個一維陣列。所以一維陣列就是numpy中的軸(axes),第乙個軸相當於是底層陣列,第二個軸是底層陣列裡的陣列。而軸的數量——秩,就是陣列的維數。
numpy的陣列中比較重要ndarray物件屬性有:
ndarray.ndim:陣列的維數(即陣列軸的個數),等於秩。最常見的為二維陣列(矩陣)。
[python]view plaincopy
?
>>> 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 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 plaincopy
?
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,...