Python學(xué)習(xí)筆記(5):NumPy庫入門1

1. 列表與數(shù)組

列表:數(shù)據(jù)類型可以不同;
數(shù)組:數(shù)據(jù)類型相同

2. ndarray: NumPy的數(shù)組對(duì)象

NumPy是SciPy踊赠、Pandas庫的基礎(chǔ)

#1. 安裝
$ pip3 install numpy
#我的服務(wù)器下顯示已安裝
Requirement already satisfied: numpy in ./miniconda3/lib/python3.6/site-packages (1.15.4)

#2. 引用: import numpy as np
$ python3 #進(jìn)入交互式編程環(huán)境
>>> import numpy as np
>>> def npsum():
...     a = np.array([0,1,2,3])
...     b = np.array([3,2,1,0])
...     c = a**2 + b**2
...     return c
... 
>>> print(npsum())
[9 5 5 9]
3. ndarray實(shí)例

ndarray在程序中叫array, np.array()用于創(chuàng)建一個(gè)ndarray數(shù)組锦爵。

>>> a = np.array([[1,2,3],
... [4,5,6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> print(a)
[[1 2 3]
 [4 5 6]]
4. ndarray對(duì)象的屬性

.ndim -- 軸/維度的數(shù)量
.shape -- 幾行幾列
.size -- 元素的個(gè)數(shù)
.dtype -- 元素類型
.itemsize -- 每個(gè)元素字節(jié)大小

>>> a.ndim
2
>>> a.shape
(2, 3)
>>> a.size
6
>>> a.dtype
dtype('int64')
>>> a.itemsize
8
5. ndarray數(shù)組的創(chuàng)建方法
  1. 從Python列表、元組類型創(chuàng)建ndarray數(shù)組
    x = np.array(list/tuple[, dtype=np.float32])
    eg: x = np.array([[1,2],(3,4)])
  2. 使用NumPy中的函數(shù)創(chuàng)建:np.arrange(n)生成0到n-1、np.full(shape,val)根據(jù)shape元組生成元素值都為val的數(shù)組延曙、np.full_like(a,val)根據(jù)數(shù)組a的形狀生成數(shù)組、np.linspace()
6. ndarray數(shù)組的維度變換和類型變換
方法 說明
.reshape(shape) 不改變數(shù)組元素亡哄,返回shape形狀的數(shù)組枝缔,原數(shù)組不變
.resize(shape) 與.reshape()功能一致,但修改原數(shù)組
.swapaxes(ax1,ax2) 將數(shù)組n個(gè)維度中兩個(gè)維度進(jìn)行調(diào)換
.flatten() 對(duì)數(shù)組進(jìn)行降維蚊惯,返回折疊后的一維數(shù)組愿卸,原數(shù)組不變
.astype(new_type) 創(chuàng)建新的數(shù)組(原始數(shù)據(jù)的拷貝),即使兩個(gè)類型一致
>>> a=np.ones((2,3),dtype=np.int32)
>>> print(a)
[[1 1 1]
 [1 1 1]]
>>> a.reshape((6))
array([1, 1, 1, 1, 1, 1], dtype=int32)
>>> print(a)
[[1 1 1]
 [1 1 1]]
>>> a.resize(6)
>>> print(a)
[1 1 1 1 1 1]
>>> a.astype(np.float)
array([ 1.,  1.,  1.,  1.,  1.,  1.])
>>> print(a)
[1 1 1 1 1 1]
7. 數(shù)組的索引和切片
>>> b=np.array([9,8,7,6,5,4,3,2,1,0])
>>> b[2]
7
>>> b[0:6:2] #起始編號(hào):終止編號(hào)(不含):步長
array([9, 7, 5])

>>> b=b.reshape(2,5)
>>> print(b)
[[9 8 7 6 5]
 [4 3 2 1 0]]
>>> b[1,2] #一個(gè)維度一個(gè)索引值截型,逗號(hào)分隔趴荸,[]括起來
2
>>> b[1,:]
array([4, 3, 2, 1, 0]) #一個(gè)維度全選用:
>>> b[1,::2] #此時(shí)也可以結(jié)合步長使用
array([4, 2, 0])
8. 數(shù)組與標(biāo)量之間的運(yùn)算

數(shù)組與標(biāo)量之間的運(yùn)算作用于數(shù)組的每一個(gè)元素

>>> b.mean()
4.5
>>> b-b.mean()
array([[ 4.5,  3.5,  2.5,  1.5,  0.5],
       [-0.5, -1.5, -2.5, -3.5, -4.5]])
9. NumPy一元/二元運(yùn)算函數(shù)

對(duì)ndarray中的數(shù)據(jù)執(zhí)行元素級(jí)運(yùn)算的函數(shù)

一元函數(shù)
函數(shù) 說明
np.abs(x) np.fabs(x) 計(jì)算數(shù)組各元素的絕對(duì)值
np.sqrt(x) 計(jì)算數(shù)組各元素的平方根
np.square(x) 計(jì)算數(shù)組各元素的平方
np.log(x) np.log10(x) np.log2(x) 計(jì)算數(shù)組各元素的自然對(duì)數(shù)、10底對(duì)數(shù)和2底對(duì)數(shù)
np.ceil(x) np.floor(x) 計(jì)算數(shù)組各元素的ceiling值 或 floor值
np.rint(x) 計(jì)算數(shù)組各元素的四舍五入值
np.modf(x) 將數(shù)組各元素的小數(shù)和整數(shù)部分以兩個(gè)獨(dú)立數(shù)組形式返回
np.cos(x) np.cosh(x) np.sin(x) np.sinh(x) np.tan(x) np.tanh(x) 計(jì)算數(shù)組各元素的普通型和雙曲型三角函數(shù)
np.exp(x) 計(jì)算數(shù)組各元素的指數(shù)值
np.sign(x) 計(jì)算數(shù)組各元素的符號(hào)值宦焦,1(+), 0, ‐1(‐)
二元函數(shù)
函數(shù) 說明
+ ‐ * / ** 兩個(gè)數(shù)組各元素進(jìn)行對(duì)應(yīng)運(yùn)算
np.maximum(x,y) np.fmax() np.minimum(x,y) np.fmin() 元素級(jí)的最大值/最小值計(jì)算
np.mod(x,y) 元素級(jí)的模運(yùn)算
np.copysign(x,y) 將數(shù)組y中各元素值的符號(hào)賦值給數(shù)組x對(duì)應(yīng)元素
> < >= <= == != 算術(shù)比較发钝,產(chǎn)生布爾型數(shù)組
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市赶诊,隨后出現(xiàn)的幾起案子笼平,更是在濱河造成了極大的恐慌,老刑警劉巖舔痪,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寓调,死亡現(xiàn)場離奇詭異,居然都是意外死亡锄码,警方通過查閱死者的電腦和手機(jī)夺英,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門晌涕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人痛悯,你說我怎么就攤上這事余黎。” “怎么了载萌?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵惧财,是天一觀的道長。 經(jīng)常有香客問我扭仁,道長垮衷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任乖坠,我火速辦了婚禮搀突,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘熊泵。我一直安慰自己仰迁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布顽分。 她就那樣靜靜地躺著徐许,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怯邪。 梳的紋絲不亂的頭發(fā)上绊寻,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音悬秉,去河邊找鬼。 笑死冰蘑,一個(gè)胖子當(dāng)著我的面吹牛和泌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播祠肥,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼武氓,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了仇箱?” 一聲冷哼從身側(cè)響起县恕,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎剂桥,沒想到半個(gè)月后忠烛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡权逗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年美尸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冤议。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡师坎,死狀恐怖恕酸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胯陋,我是刑警寧澤蕊温,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站遏乔,受9級(jí)特大地震影響义矛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜按灶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一症革、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鸯旁,春花似錦噪矛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至韭赘,卻和暖如春缩滨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泉瞻。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工脉漏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袖牙。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓侧巨,卻偏偏與公主長得像娱节,于是被迫代替她去往敵國和親酌泰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子税灌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • 本教程是基于Numpy1.14官方網(wǎng)站的文檔 原文地址:點(diǎn)我呀 為本人在備考期間利用課余時(shí)間進(jìn)行翻譯的哈误,預(yù)計(jì)在一周...
    劉點(diǎn)石閱讀 13,938評(píng)論 1 31
  • Numpy的組成與功能 Numpy(Numeric Python)可以被理解為一個(gè)用python實(shí)現(xiàn)的科學(xué)計(jì)算包,...
    不做大哥好多年閱讀 4,286評(píng)論 0 10
  • 基礎(chǔ)篇NumPy的主要對(duì)象是同種元素的多維數(shù)組带饱。這是一個(gè)所有的元素都是一種類型鼎天、通過一個(gè)正整數(shù)元組索引的元素表格(...
    oyan99閱讀 5,130評(píng)論 0 18
  • 介紹 NumPy是Python數(shù)值計(jì)算最重要的基礎(chǔ)包贺氓,大多數(shù)提供科學(xué)計(jì)算的包都是用NumPy的數(shù)組作為構(gòu)建基礎(chǔ)得糜。N...
    無味之味閱讀 7,799評(píng)論 0 3
  • 一叨襟、numpy概述 numpy(Numerical Python)提供了python對(duì)多維數(shù)組對(duì)象的支持:ndar...
    L_steven的貓閱讀 3,470評(píng)論 1 24