NumPy

# NumPy

## The Basics

NumPy 主要面向的對(duì)象是齊次多維數(shù)組僵蛛。在NumPy中維度(dimension)被稱為軸(axe)咏尝。軸的個(gè)數(shù)即為秩(rank)。

例如火架,一個(gè)坐標(biāo)為[1, 2, 1]的點(diǎn)的秩為1闻牡,因?yàn)樗挥幸粋€(gè)軸灌闺,并且這個(gè)軸的長(zhǎng)度為3嗡善。下面這個(gè)例子篡腌,這個(gè)數(shù)組的秩為2碱璃。第一個(gè)軸的長(zhǎng)度為2弄痹,第二個(gè)軸的長(zhǎng)度為3

```

[[1,0,0],

[0,1,2]]

```

NumPy的數(shù)組類(class)被稱為ndarray。它的別名(alias)被叫做數(shù)組嵌器。需要注意的是肛真,numpy.array與標(biāo)準(zhǔn)Python庫(kù)類array.array不一樣,它只處理一維數(shù)組爽航,并且提供較少的功能蚓让。ndarray的主要屬性如下:

- ndarray.admin

? ? 數(shù)組的軸(axe)的數(shù)量。在Python中維度即為秩.

- ndarray.shape

? ? 這個(gè)屬性包含了數(shù)組的各向維度讥珍,例如一個(gè)m*n的矩陣历极,其shape為元組(m,n)

- ndarray.size

? ? 數(shù)組中元素總共的數(shù)目。

- ndarray.dtype

? ? 用于描述數(shù)組中元素的類型

- ndarray.itemsize

? ? 數(shù)組中每個(gè)元素的字節(jié)數(shù)衷佃。例如趟卸,一個(gè)float64的字節(jié)數(shù)為8 =(64/8),等價(jià)于ndarray.dtype,itemsize。

- ndarray.data

? ? 用于存儲(chǔ)數(shù)組的實(shí)際元素锄列。

```Python

>>> import numpy as np

>>> a = np.arange(15).reshape(3,5)

>>> a

array([[ 0,? 1,? 2,? 3,? 4],

? ? ? [ 5,? 6,? 7,? 8,? 9],

? ? ? [10, 11, 12, 13, 14]])

>>> a.shape

(3, 5)

>>> a.ndim

2

>>> a.dtype.name

'int32'

>>> a.itemsize

4

>>> type(a)

>>> b = np.array([6,7,8])

>>> b

array([6, 7, 8])

>>> type(b)

```

## Array Creation

```Python

>>> a = np.array([2,3,4])

>>> a

array([2, 3, 4])

>>> a = np.array(1,2,3,4)? # wrong

Traceback (most recent call last):

? File "", line 1, in

? ? a = np.array(1,2,3,4)

ValueError: only 2 non-keyword arguments accepted

>>> b = np.array([(1.5,2,3),(4,5,6)])

>>> b

array([[ 1.5,? 2. ,? 3. ],

? ? ? [ 4. ,? 5. ,? 6. ]])

>>> c = np.array([[1,2],[3,4]], dtype=complex)

>>> c

array([[ 1.+0.j,? 2.+0.j],

? ? ? [ 3.+0.j,? 4.+0.j]])

>>> np.zeros((3,4))

array([[ 0.,? 0.,? 0.,? 0.],

? ? ? [ 0.,? 0.,? 0.,? 0.],

? ? ? [ 0.,? 0.,? 0.,? 0.]])

>>> np.ones(shape=(2,3),dtype=np.int16)

array([[1, 1, 1],

? ? ? [1, 1, 1]], dtype=int16)

>>> np.empty((2,3))

array([[? 3.90311860e-322,? 0.00000000e+000,? 2.78145267e-307],

? ? ? [? 4.00537061e-307,? 2.23419104e-317,? 8.36014030e+250]])

```

numpy.arange([start,]stop,[step,]dtype=None)

- 功能:在區(qū)間[statr,stop)之間生成一個(gè)步長(zhǎng)為step的連續(xù)數(shù)組图云。start的默認(rèn)值為0,默認(rèn)步長(zhǎng)為1

numpy.linspace(start,stop,num=50,endpoint=True,restep=False,dtype=None)

- start:必要參數(shù)邻邮,返回序列的起始位置竣况。

- stop:返回序列的最后一個(gè)位置。

- num:采樣點(diǎn)的數(shù)目筒严,即序列的長(zhǎng)度丹泉。

- endpoint:如果為True,則對(duì)于區(qū)間進(jìn)行num-1等分,并且序列最后一個(gè)點(diǎn)為stop,如果為False鸭蛙,則對(duì)于區(qū)間盡心num等分摹恨,并且區(qū)間最后一個(gè)點(diǎn)為stop前一點(diǎn)。

- restep:默認(rèn)值為False规惰。如果為True睬塌,返回值為(samples,step)

```Python

>>> np.linspace(start=1,stop=5,num=4)

array([ 1.? ? ? ? ,? 2.33333333,? 3.66666667,? 5.? ? ? ? ])

>>> np.linspace(start=1,stop=5,num=4,endpoint=False)

array([ 1.,? 2.,? 3.,? 4.])

```

numpy.random.rand(d0, d1,..., dn)

- d0,d1,...,dn:shape

- return: ndarray,shape(d0, d1,...,dn)

```Python

>>> np.random.rand(3,2)

array([[ 0.17227376,? 0.22609618],

? ? ? [ 0.53162876,? 0.70428079],

? ? ? [ 0.30794007,? 0.36767049]])

```

## Ptinting Arrays

```Python

>>> a = np.arange(6)

>>> print(a)

[0 1 2 3 4 5]

>>> b = np.arange(12).reshape(4,3)

>>> b

array([[ 0,? 1,? 2],

? ? ? [ 3,? 4,? 5],

? ? ? [ 6,? 7,? 8],

? ? ? [ 9, 10, 11]])

>>> print(b)

[[ 0? 1? 2]

[ 3? 4? 5]

[ 6? 7? 8]

[ 9 10 11]]

>>> c = np.arange(24).reshape(2,3,4)

>>> 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]]]

```

## Basic Operations

```Python

>>> a = np.array([20,30,40,50])

>>> b = np.arange(4)

>>> b

array([0, 1, 2, 3])

>>> c = a-b

>>> c

array([20, 29, 38, 47])

>>> b**2

array([0, 1, 4, 9], dtype=int32)

>>> 10*np.sin(a)

array([ 9.12945251, -9.88031624,? 7.4511316 , -2.62374854])

>>> a<35

array([ True,? True, False, False], dtype=bool)

>>>

```

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市歇万,隨后出現(xiàn)的幾起案子揩晴,更是在濱河造成了極大的恐慌,老刑警劉巖贪磺,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硫兰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡寒锚,警方通過(guò)查閱死者的電腦和手機(jī)劫映,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)刹前,“玉大人泳赋,你說(shuō)我怎么就攤上這事±恚” “怎么了祖今?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)拣技。 經(jīng)常有香客問(wèn)我千诬,道長(zhǎng),這世上最難降的妖魔是什么膏斤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任徐绑,我火速辦了婚禮,結(jié)果婚禮上莫辨,老公的妹妹穿的比我還像新娘傲茄。我一直安慰自己毅访,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布烫幕。 她就那樣靜靜地躺著俺抽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪较曼。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天振愿,我揣著相機(jī)與錄音捷犹,去河邊找鬼。 笑死冕末,一個(gè)胖子當(dāng)著我的面吹牛萍歉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播档桃,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼枪孩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了藻肄?” 一聲冷哼從身側(cè)響起蔑舞,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘹屯,沒(méi)想到半個(gè)月后攻询,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡州弟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年钧栖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婆翔。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拯杠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出啃奴,到底是詐尸還是另有隱情潭陪,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布纺腊,位于F島的核電站畔咧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏揖膜。R本人自食惡果不足惜誓沸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望壹粟。 院中可真熱鬧拜隧,春花似錦宿百、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至干奢,卻和暖如春痊焊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忿峻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工薄啥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逛尚。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓垄惧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親绰寞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子到逊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 來(lái)源:NumPy Tutorial - TutorialsPoint 譯者:飛龍 協(xié)議:CC BY-NC-SA 4...
    布客飛龍閱讀 32,801評(píng)論 6 97
  • NumPy是Python中關(guān)于科學(xué)計(jì)算的一個(gè)類庫(kù),在這里簡(jiǎn)單介紹一下滤钱。 來(lái)源:https://docs.scipy...
    灰太狼_black閱讀 1,228評(píng)論 0 5
  • 先決條件 在閱讀這個(gè)教程之前觉壶,你多少需要知道點(diǎn)python。如果你想從新回憶下菩暗,請(qǐng)看看Python Tutoria...
    舒map閱讀 2,580評(píng)論 1 13
  • Numpy的組成與功能 Numpy(Numeric Python)可以被理解為一個(gè)用python實(shí)現(xiàn)的科學(xué)計(jì)算包,...
    不做大哥好多年閱讀 4,286評(píng)論 0 10
  • 一.NumPy的引入 標(biāo)準(zhǔn)安裝的Python中用列表(list)保存一組值掰曾,可以用來(lái)當(dāng)作數(shù)組使用,不過(guò)由于列...
    wlj1107閱讀 1,015評(píng)論 0 2