NumPy基礎(chǔ):數(shù)組和矢量計(jì)算

約定:import numpy as np

ndarray:多維數(shù)組對(duì)象


1.創(chuàng)建ndarry對(duì)象

使用array函數(shù)

列表轉(zhuǎn)換

嵌套序列轉(zhuǎn)換為多維數(shù)組


嵌套序列轉(zhuǎn)換

np.array會(huì)嘗試為新建數(shù)組推斷出最為合適的類(lèi)型,除非有顯式說(shuō)明

dtype

zeros和ones分別可創(chuàng)建指定長(zhǎng)度和形狀的全0或全1數(shù)組,empty可創(chuàng)建空數(shù)組

zeros()


empty()返回的是為初始化的垃圾值,而非全0

arange

eye/identity創(chuàng)建一個(gè)正方形的n*n單位矩陣

單位矩陣

2.ndarray的數(shù)據(jù)類(lèi)型dtype


指定數(shù)據(jù)類(lèi)型


顯示轉(zhuǎn)換數(shù)據(jù)類(lèi)型

浮點(diǎn)數(shù)轉(zhuǎn)整數(shù),小數(shù)部分會(huì)被截?cái)?/p>

字符串?dāng)?shù)組若表示的全是數(shù)字,可轉(zhuǎn)換為數(shù)值類(lèi)型


3.數(shù)組和標(biāo)量之間的運(yùn)算


數(shù)組和數(shù)組之間運(yùn)算


數(shù)組和標(biāo)量的運(yùn)算

4.索引和切片


將標(biāo)量賦值給切片:廣播到整個(gè)選區(qū)


二維數(shù)組:arr[0][2]等價(jià)于arr[0,2]

切片索引:

在一個(gè)軸上切片
多個(gè)切片


整數(shù)索引和切片混合:對(duì)低維軸進(jìn)行切片

只有冒號(hào)表示選取整個(gè)軸

對(duì)高維軸進(jìn)行切片

對(duì)切片表達(dá)式的賦值操作


5.布爾型索引


每個(gè)名字對(duì)應(yīng)data數(shù)組中的一行


數(shù)組的比較運(yùn)算“==”是矢量化的,產(chǎn)生布爾型數(shù)組


布爾型數(shù)組用于數(shù)組索引,布爾型數(shù)組的長(zhǎng)度必須跟被索引的軸長(zhǎng)度一致


布爾型數(shù)組跟切片、整數(shù)混合使用


選擇除bob以外的其他值,"!=","~"進(jìn)行否定


應(yīng)用多個(gè)布爾條件


通過(guò)布爾型數(shù)組設(shè)置值


通過(guò)一維布爾數(shù)組設(shè)置整行或列的值

6.花式索引:利用整數(shù)數(shù)組進(jìn)行索引


以特定順序選取子集,傳入用于指定順序的整數(shù)列表


負(fù)數(shù)索引從末尾開(kāi)始選取行

傳入多個(gè)索引數(shù)組,返回一個(gè)一維數(shù)組

選取(1,0),(5,3),(7,1),(2,2)


?選取方形區(qū)域


np.ix_函數(shù)選取方形區(qū)域

花式索引與切片不同,總是將數(shù)據(jù)復(fù)制到新數(shù)組中

7.數(shù)組轉(zhuǎn)置和軸對(duì)換

轉(zhuǎn)置:返回源數(shù)據(jù)的視圖(不進(jìn)行任何復(fù)制操作)


數(shù)組轉(zhuǎn)置,簡(jiǎn)單地轉(zhuǎn)置可以使用.T(進(jìn)行軸對(duì)換)


利用np.dot()計(jì)算內(nèi)積


對(duì)于高維數(shù)組,transpose需要得到一個(gè)由軸編號(hào)組成的元組才能進(jìn)行轉(zhuǎn)置


使用swapaxes方法轉(zhuǎn)置,需要接受一堆軸編號(hào),返回源數(shù)據(jù)的視圖

8.通用函數(shù)ufunc

是對(duì)ndarray中的數(shù)據(jù)執(zhí)行元素級(jí)運(yùn)算的函數(shù),可以看做是簡(jiǎn)單函數(shù)的矢量化包裝器


一元ufunc
二元ufunc


sqrt、exp


元素級(jí)最大值


modf返回兩個(gè)數(shù)組

9.利用數(shù)組進(jìn)行數(shù)據(jù)處理

矢量化:用數(shù)組表達(dá)式代替循環(huán)

meshgrid函數(shù)接受兩個(gè)一維數(shù)組,并產(chǎn)生兩個(gè)二維矩陣,


計(jì)算x^2+y^2


圖形化顯示


9.1 將條件邏輯表述為數(shù)組運(yùn)算

根據(jù)cond中的值選取xarr和yarr中的值:當(dāng)cond中的值為true時(shí),選取xarr的值,否自選取yarr的值

但對(duì)大數(shù)組處理速度不夠快,無(wú)法用于多維數(shù)組

使用np.where

np.where第二第三個(gè)參數(shù)不必是數(shù)組,可以是標(biāo)量

where通常用于根據(jù)另一個(gè)數(shù)組而產(chǎn)生一個(gè)新數(shù)組

將所有正值替換為2,負(fù)值替換為-2


只將正值設(shè)置為2

9.2數(shù)學(xué)和統(tǒng)計(jì)方法

基本數(shù)組統(tǒng)計(jì)方法
cumsum cumprod

9.3用于布爾型數(shù)組的方法

用sum對(duì)布爾型數(shù)組中的true值計(jì)數(shù)


any測(cè)試數(shù)組中是否存在true,all檢查數(shù)組中是否所有值都是true

9.4排序

就地排序sort

多維數(shù)組可以再任何一個(gè)軸向上進(jìn)行排序


頂級(jí)方法np.sort返回的是數(shù)組的已排序副本,而就地排序會(huì)修改數(shù)組本身

9.5唯一化以及其他的集合邏輯

數(shù)組的集合運(yùn)算

10.用于數(shù)組的文件輸入輸出

將數(shù)組以二進(jìn)制格式保存到磁盤(pán)

默認(rèn)情況下,數(shù)組是以未壓縮的原始二進(jìn)制格式保存在擴(kuò)展名為.npy的文件中

np.save寫(xiě)磁盤(pán)數(shù)組數(shù)據(jù)

如果文件路徑末尾沒(méi)有.npy,則該擴(kuò)展名會(huì)被自動(dòng)加上

np.load讀取磁盤(pán)上的數(shù)組

保存多個(gè)數(shù)組

np.savez將多個(gè)數(shù)組保存到一個(gè)壓縮文件中

11.線(xiàn)性代數(shù)

dot函數(shù):矩陣乘法
numpy.linalg函數(shù)

12.隨機(jī)數(shù)生成

numpy.random
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評(píng)論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,559評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,442評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,835評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,581評(píng)論 6 412
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,922評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評(píng)論 3 447
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,096評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,639評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,374評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,591評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評(píng)論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,789評(píng)論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,196評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,524評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,322評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,554評(píng)論 2 379

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