numpy 學(xué)習(xí)

1.numpy 數(shù)據(jù)類型

bool:布爾類型,1 個(gè)字節(jié),值為 True 或 False施蜜。

int:整數(shù)類型,通常為 int64 或 int32 雌隅。

intc:與 C 里的 int 相同翻默,通常為 int32 或 int64。

intp:用于索引恰起,通常為 int32 或 int64修械。

int8:字節(jié)(從 -arange128 到 127)

int16:整數(shù)(從 -32768 到 32767)

int32:整數(shù)(從 -2147483648 到 2147483647)

int64:整數(shù)(從 -9223372036854775808 到 9223372036854775807)

uint8:無(wú)符號(hào)整數(shù)(從 0 到 255)

uint16:無(wú)符號(hào)整數(shù)(從 0 到 65535)

uint32:無(wú)符號(hào)整數(shù)(從 0 到 4294967295)

uint64:無(wú)符號(hào)整數(shù)(從 0 到 18446744073709551615)

float:float64 的簡(jiǎn)寫(xiě)。

float16:半精度浮點(diǎn)检盼,5 位指數(shù)肯污,10 位尾數(shù)

float32:?jiǎn)尉雀↑c(diǎn),8 位指數(shù)吨枉,23 位尾數(shù)

float64:雙精度浮點(diǎn)蹦渣,11 位指數(shù),52 位尾數(shù)

complex:complex128 的簡(jiǎn)寫(xiě)貌亭。

complex64:復(fù)數(shù)柬唯,由兩個(gè) 32 位浮點(diǎn)表示。

complex128:復(fù)數(shù)圃庭,由兩個(gè) 64 位浮點(diǎn)表示锄奢。

可以在創(chuàng)建arrray時(shí)失晴,使用dtype 來(lái)指定它的數(shù)據(jù)類型, 對(duì)array 對(duì)象使用dtype 查看數(shù)據(jù)類型


2. ndarry(N維數(shù)組對(duì)象)?

創(chuàng)建

使用array() 函數(shù), 可以使用dtype 來(lái)指定類型

zeros() 函數(shù)來(lái)生成, 元素均為0 的數(shù)組

ones() 函數(shù)生成元素都為0 的數(shù)組

arange(start, stop,step,dtype) 函數(shù)來(lái)創(chuàng)建

n>>> np.arange(0,12).reshape(3,4)

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

[ 4,? 5,? 6,? 7],

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

linspace(start, end, num) num: 生成的樣本數(shù),也就是指定由開(kāi)頭到結(jié)尾所指定的范圍分成幾個(gè)部分

>>> np.linspace(0,12,3)

array([? 0.,? 6.,? 12.])

也可以使用random.random(shape) 來(lái)用隨機(jī)數(shù)填充數(shù)組

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

array([[ 0.42793958,? 0.7801106 ,? 0.40430299,? 0.2440989 ],

[ 0.12988871,? 0.01634131,? 0.62752135,? 0.99287802],

[ 0.95552834,? 0.60075408,? 0.48059998,? 0.6966276 ]])

ndarry 數(shù)組的屬性

ndim 秩的數(shù)量

size 數(shù)組的大小

shape 數(shù)組的型

3.基本操作

重新設(shè)置形狀

>>> np.arange(0,12).reshape((3,4))

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

[ 4,? 5,? 6,? 7],

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

算術(shù)運(yùn)算

直接使用算術(shù)運(yùn)算符進(jìn)行運(yùn)算

矩陣積: dot(A,B) 或A.dot(B)拘央, 矩陣不遵循交換律

通用函數(shù): sqrt(), log() , sin(), ...

聚合函數(shù)

min()

max()

sum()

mean() 平均數(shù)

std()

索引

跟列表有些類似

>>> a=np.arange(20).reshape(4,5)

>>> a

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

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

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

[15, 16, 17, 18, 19]])

>>> a[[3,4],[3,4]]

實(shí)際獲取的是[1,3]涂屁,也就是第2行和第4列對(duì)于的值8。以及[2, 4]灰伟,也就是第3行和第5列對(duì)于的值14拆又。

三維數(shù)組

>>>importnumpyasnp>>>a = np.arange(30).reshape(2,5,3)>>>a

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

[3,4,5],

[6,7,8],

[9,10,11],

[12,13,14]],

[[15,16,17],

[18,19,20],

[21,22,23],

[24,25,26],

[27,28,29]]])# 索引>>>a[[0,1],[1,2],[1,2]]

array([4,23])

這里,[0,1]分布代表axis = 0和axis = 1栏账。而遏乔,后面的[1,2],[1,2]分別選擇了第2行第2列和第3行第3列的兩個(gè)數(shù)。

切片

對(duì)于多維數(shù)組发笔,我們只需要用逗號(hào),分割不同維度即可:

>>>a = np.arange(20).reshape(4,5)>>>a

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

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

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

[15,16,17,18,19]])# 先取第 3,4 列(第一個(gè)維度)凉翻,再取第 1了讨,2,3 行(第二個(gè)維度)制轰。>>>a[0:3,2:4]

array([[2,3],

[7,8],

[12,13]])# 按步長(zhǎng)為 2 取所有列和所有行的數(shù)據(jù)前计。>>>a[:,::2]

array([[0,2,4],

[5,7,9],

[10,12,14],

[15,17,19]])

數(shù)組迭代

遍歷矩陣的每個(gè)元素

for item in A:

? ? ? print item?

apply_along_axis() 函數(shù), axis =0, 時(shí)垃杖,為沿行男杈,=1時(shí),沿列

>>> np.apply_along_axis(np.mean, axis=0, arr=A)

array([ 0.31892036,? 0.32059507,? 0.5275357 ,? 0.56294685])

>>> np.apply_along_axis(np.mean, axis=1, arr=A)

array([ 0.34725639,? 0.52172109,? 0.428521? ])

>>> A

array([[ 0.37854916,? 0.07013463,? 0.16762009,? 0.77272168],

[ 0.39064676,? 0.79229944,? 0.57201198,? 0.33192621],

[ 0.18756517,? 0.09935115,? 0.84297504,? 0.58419266]])

條件和布爾數(shù)組

>>> A = np.random.random((4,4))

>>> A

array([[ 0.73033594,? 0.95318457,? 0.05115813,? 0.1413278 ],

[ 0.38830897,? 0.67513952,? 0.73892551,? 0.00472255],

[ 0.52383481,? 0.35105734,? 0.61480131,? 0.00726216],

[ 0.28354593,? 0.15196966,? 0.86462789,? 0.86654137]])

>>> A<0.5

array([[False, False,? True,? True],

[ True, False, False,? True],

[False,? True, False,? True],

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

>>> A[A<0.5]

array([ 0.05115813,? 0.1413278 ,? 0.38830897,? 0.00472255,? 0.35105734,

0.00726216,? 0.28354593,? 0.15196966])

形狀變換

reshape() 函數(shù)

ravel () 函數(shù)將二維數(shù)組變成一維數(shù)組

transpose() 交換行列

數(shù)組操作

vstack() 垂直入棧操作

hstack() 水平入棧操作

數(shù)組切分

hsplit() 水平分割

vsplit() 垂直分割

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

>>> A

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

[ 4,? 5,? 6,? 7],

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

>>> [b,c]= np.hsplit(A,2)

>>> b

array([[0, 1],

[4, 5],

[8, 9]])

>>> c

array([[ 2,? 3],

[ 6,? 7],

[10, 11]])

也可以指定axis 沿哪條軸分割

對(duì)象的副本

直接使用copy() 函數(shù)

>>> a

array([[ 0.93582073,? 0.36285637,? 0.1743055 ,? 0.73572584],

[ 0.57430482,? 0.86607796,? 0.73776101,? 0.12266299],

[ 0.59001065,? 0.38222194,? 0.06113438,? 0.01316895]])

>>> b=a.copy()

>>> b

array([[ 0.93582073,? 0.36285637,? 0.1743055 ,? 0.73572584],

[ 0.57430482,? 0.86607796,? 0.73776101,? 0.12266299],

[ 0.59001065,? 0.38222194,? 0.06113438,? 0.01316895]])

結(jié)構(gòu)化數(shù)組

創(chuàng)建一個(gè)簡(jiǎn)單的結(jié)構(gòu)化數(shù)組

>>> structured = np.array([(1,'first', 0.5, 1+2j), (2, 'second', 1.5, 2+2j)], dtype=('int16,a6,float32, complex64'))>>> structuredarray([(1, 'first',? 0.5,? 1.+2.j), (2, 'second',? 1.5,? 2.+2.j)],? ? ? dtype=[('f0', '>> structured[1]

(2, 'second',? 1.5,? 2.+2.j)

數(shù)據(jù)文件讀入

保存

>>> a

array([[ 0.93582073,? 0.36285637,? 0.1743055 ,? 0.73572584],

[ 0.57430482,? 0.86607796,? 0.73776101,? 0.12266299],

[ 0.59001065,? 0.38222194,? 0.06113438,? 0.01316895]])

>>> np.save('a_data',a)

np.load('a_data.npy‘)

讀取文件中列表形式

CSV

np.getfromtxt('data.csv', delimiter=',', names=True) , (打開(kāi)的文件名调俘, 分隔符, 是否保存列標(biāo)題) ,內(nèi)容為空的項(xiàng)填充為nan 值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伶棒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子彩库,更是在濱河造成了極大的恐慌肤无,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骇钦,死亡現(xiàn)場(chǎng)離奇詭異宛渐,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)眯搭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)窥翩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鳞仙,你說(shuō)我怎么就攤上這事寇蚊。” “怎么了繁扎?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵幔荒,是天一觀的道長(zhǎng)糊闽。 經(jīng)常有香客問(wèn)我,道長(zhǎng)爹梁,這世上最難降的妖魔是什么右犹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮姚垃,結(jié)果婚禮上念链,老公的妹妹穿的比我還像新娘。我一直安慰自己积糯,他們只是感情好掂墓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著看成,像睡著了一般君编。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上川慌,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天吃嘿,我揣著相機(jī)與錄音,去河邊找鬼梦重。 笑死兑燥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的琴拧。 我是一名探鬼主播降瞳,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蚓胸!你這毒婦竟也來(lái)了挣饥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沛膳,失蹤者是張志新(化名)和其女友劉穎亮靴,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體于置,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茧吊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了八毯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搓侄。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖话速,靈堂內(nèi)的尸體忽然破棺而出讶踪,到底是詐尸還是另有隱情,我是刑警寧澤泊交,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布乳讥,位于F島的核電站柱查,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏云石。R本人自食惡果不足惜唉工,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望汹忠。 院中可真熱鬧淋硝,春花似錦、人聲如沸宽菜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铅乡。三九已至继谚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阵幸,已是汗流浹背犬庇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留侨嘀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓捂襟,卻偏偏與公主長(zhǎng)得像咬腕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子葬荷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

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