久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

Numpy高級(jí)操作大全?。,?!

 天選小丑 2020-10-23

22點(diǎn)24分準(zhǔn)時(shí)推送,,第一時(shí)間送達(dá)

編輯:技術(shù)君 | 作者:逐夢(mèng)er 來(lái)源:blog.csdn.net/qq_43328040/article/details/108700665

上一篇:

正文

一.數(shù)組上的迭代

NumPy 包含一個(gè)迭代器對(duì)象numpy.nditer,。它是一個(gè)有效的多維迭代器對(duì)象,,可以用于在數(shù)組上進(jìn)行迭代。數(shù)組的每個(gè)元素可使用 Python 的標(biāo)準(zhǔn)Iterator接口來(lái)訪問(wèn),。

import numpy as npa = np.arange(0, 60, 5)a = a.reshape(3, 4)print(a)for x in np.nditer(a):print(x)[[ 0 5 10 15][20 25 30 35][40 45 50 55]]0510152025303540455055

如果兩個(gè)數(shù)組是可廣播的,,nditer組合對(duì)象能夠同時(shí)迭代它們。假設(shè)數(shù) 組a具有維度 3X4,,并且存在維度為 1X4 的另一個(gè)數(shù)組b,,則使用以下類型的迭代器(數(shù)組b被廣播到a的大小)。

import numpy as npa = np.arange(0, 60, 5)a = a.reshape(3, 4)print(a)b = np.array([1, 2, 3, 4], dtype=int)print(b)for x, y in np.nditer([a, b]):print(x, y)[[ 0 5 10 15][20 25 30 35][40 45 50 55]][1 2 3 4]0 15 210 315 420 125 230 335 440 145 250 355 4

二.數(shù)組形狀修改函數(shù)

1.ndarray.reshape

函數(shù)在不改變數(shù)據(jù)的條件下修改形狀,,參數(shù)如下:

ndarray.reshape(arr, newshape, order)

其中:

import numpy as npa = np.arange(8)print(a)b = a.reshape(4, 2)print(b)

2.ndarray.flat

函數(shù)返回?cái)?shù)組上的一維迭代器,,行為類似 Python 內(nèi)建的迭代器。

import numpy as npa = np.arange(0, 16, 2).reshape(2, 4)print(a)# 返回展開(kāi)數(shù)組中的下標(biāo)的對(duì)應(yīng)元素print(list(a.flat))[[ 0 2 4 6][ 8 10 12 14]][0, 2, 4, 6, 8, 10, 12, 14]

3.ndarray.flatten

函數(shù)返回折疊為一維的數(shù)組副本,,函數(shù)接受下列參數(shù):

ndarray.flatten(order)其中:order:‘C’ — 按行,,‘F’ — 按列,‘A’ — 原順序,,‘k’ —元素在內(nèi)存中的出現(xiàn)順序,。

import numpy as npa = np.arange(8).reshape(2, 4)print(a)# default is column-majorprint(a.flatten())print(a.flatten(order='F'))[[0 1 2 3][4 5 6 7]][0 1 2 3 4 5 6 7][0 4 1 5 2 6 3 7]三.數(shù)組翻轉(zhuǎn)操作函數(shù)
1.numpy.transpose

函數(shù)翻轉(zhuǎn)給定數(shù)組的維度。如果可能的話它會(huì)返回一個(gè)視圖,。函數(shù)接受下列參數(shù):

numpy.transpose(arr, axes)

其中:

arr:要轉(zhuǎn)置的數(shù)組
axes:整數(shù)的列表,,對(duì)應(yīng)維度,通常所有維度都會(huì)翻轉(zhuǎn),。import numpy as npa = np.arange(24).reshape(2, 3, 4)print(a)b = np.array(np.transpose(a))print(b)print(b.shape)[[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]
[[12 13 14 15][16 17 18 19][20 21 22 23]]][[[ 0 12][ 4 16][ 8 20]]
[[ 1 13][ 5 17][ 9 21]]
[[ 2 14][ 6 18][10 22]]
[[ 3 15][ 7 19][11 23]]](4, 3, 2)b = np.array(np.transpose(a, (1, 0, 2)))print(b)print(b.shape[[[ 0 1 2 3][12 13 14 15]]
[[ 4 5 6 7][16 17 18 19]]
[[ 8 9 10 11][20 21 22 23]]](3, 2, 4)

2. numpy.ndarray.T

該函數(shù)屬于ndarray類,,行為類似于numpy.transpose.

import numpy as npa = np.arange(12).reshape(3, 4)print(a)print(a.T)[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]][[ 0 4 8][ 1 5 9][ 2 6 10][ 3 7 11]]

3.numpy.swapaxes

函數(shù)交換數(shù)組的兩個(gè)軸。這個(gè)函數(shù)接受下列參數(shù):

– numpy.swapaxes(arr, axis1, axis2)

– 參數(shù):

arr:要交換其軸的輸入數(shù)組
axis1:對(duì)應(yīng)第一個(gè)軸的整數(shù)
axis2:對(duì)應(yīng)第二個(gè)軸的整數(shù)import numpy as npa = np.arange(8).reshape(2, 2, 2)print(a)print(np.swapaxes(a, 2, 0))[[[0 1][2 3]]
[[4 5][6 7]]][[[0 4][2 6]]
[[1 5][3 7]]]

4.numpy.rollaxis

s 函數(shù)向后滾動(dòng)特定的軸,,直到一個(gè)特定位置,。這個(gè)函數(shù)

接受三個(gè)參數(shù):

– numpy.rollaxis(arr, axis, start)

– 其中:

arr:輸入數(shù)組
axis:要向后滾動(dòng)的軸,其它軸的相對(duì)位置不會(huì)改變
start:默認(rèn)為零,,表示完整的滾動(dòng),。會(huì)滾動(dòng)到特定位置。import numpy as npa = np.arange(8).reshape(2,2,2)print(a)print(np.rollaxis(a,2))print(np.rollaxis(a,2,1))[[[0 1][2 3]]
[[4 5][6 7]]][[[0 2][4 6]]
[[1 3][5 7]]][[[0 2][1 3]]
[[4 6][5 7]]]

四.數(shù)組修改維度函數(shù)

1.numpy.broadcast_to

函數(shù)將數(shù)組廣播到新形狀,。它在原始數(shù)組上返回只 讀視圖,。它通常不連續(xù)。如果新形狀不符合 NumPy 的廣播規(guī)則,,該函數(shù)可能會(huì)拋出ValueError,。該函數(shù)接受以下參數(shù):

– numpy.broadcast_to(array, shape, subok)

import numpy as npa = np.arange(4).reshape(1,4)print(a)print(np.broadcast_to(a,(4,4)))[[0 1 2 3]][[0 1 2 3][0 1 2 3][0 1 2 3][0 1 2 3]]

2.numpy.expand_dims

函數(shù)通過(guò)在指定位置插入新的軸來(lái)擴(kuò)展數(shù)組形狀。該函數(shù)需要兩個(gè)參數(shù):

– numpy.expand_dims(arr, axis)

– 其中:

arr:輸入數(shù)組axis:新軸插入的位置import numpy as npx = np.array(([1, 2], [3, 4]))print(x)y = np.expand_dims(x, axis=0)print(y)print(x.shape, y.shape)y = np.expand_dims(x, axis=1)print(y)print(x.ndim, y.ndim)print(x.shape, y.shape)[[1 2][3 4]][[[1 2][3 4]]](2, 2) (1, 2, 2)[[[1 2]]
[[3 4]]]2 3(2, 2) (2, 1, 2)

3.numpy.squeeze

函數(shù)從給定數(shù)組的形狀中刪除一維條目。此函數(shù)需要兩 個(gè)參數(shù),。

– numpy.squeeze(arr, axis)

– 其中:

arr:輸入數(shù)組
axis:整數(shù)或整數(shù)元組,,用于選擇形狀中單一維度條目的子集import numpy as npx = np.arange(9).reshape(1, 3, 3)print(x)y = np.squeeze(x)print(y)print(x.shape, y.shape)[[[0 1 2][3 4 5][6 7 8]]][[0 1 2][3 4 5][6 7 8]](1, 3, 3) (3, 3)

五.數(shù)組的連接操作

NumPy中數(shù)組的連接函數(shù)主要有如下四個(gè):

concatenate 沿著現(xiàn)存的軸連接數(shù)據(jù)序列
stack 沿著新軸連接數(shù)組序列
hstack 水平堆疊序列中的數(shù)組(列方向)
vstack 豎直堆疊序列中的數(shù)組(行方向)

1.numpy.stack

函數(shù)沿新軸連接數(shù)組序列,需要提供以下參數(shù):

– numpy.stack(arrays, axis)

– 其中:

arrays:相同形狀的數(shù)組序列
axis:返回?cái)?shù)組中的軸,,輸入數(shù)組沿著它來(lái)堆疊import numpy as npa = np.array([[1,2],[3,4]])print(a)b = np.array([[5,6],[7,8]])print(b)print(np.stack((a,b),0))print(np.stack((a,b),1))[[1 2][3 4]][[5 6][7 8]][[[1 2][3 4]]
[[5 6][7 8]]][[[1 2][5 6]]
[[3 4][7 8]]]

2.numpy.hstack

是numpy.stack函數(shù)的變體,,通過(guò)堆疊來(lái)生成水平的單個(gè)數(shù)組。

import numpy as npa = np.array([[1, 2], [3, 4]])print(a)b = np.array([[5, 6], [7, 8]])print(b)print('水平堆疊:')c = np.hstack((a, b))print(c)[[1 2][3 4]][[5 6][7 8]]水平堆疊:[[1 2 5 6][3 4 7 8]]

3.numpy.vstack

是numpy.stack函數(shù)的變體,,通過(guò)堆疊來(lái)生成豎直的單個(gè)數(shù)組,。

import numpy as npa = np.array([[1, 2], [3, 4]])print(a)b = np.array([[5, 6], [7, 8]])print(b)print('豎直堆疊:')c = np.vstack((a, b))print(c)[[1 2][3 4]][[5 6][7 8]]豎直堆疊:[[1 2][3 4][5 6][7 8]]

4.numpy.concatenate

函數(shù)用于沿指定軸連接相同形狀的兩個(gè)或多個(gè)數(shù)組。

該函數(shù)接受以下參數(shù),。

– numpy.concatenate((a1, a2, …), axis)

– 其中:

a1, a2, ...:相同類型的數(shù)組序列
axis:沿著它連接數(shù)組的軸,,默認(rèn)為 0

import numpy as npa = np.array([[1,2],[3,4]])print(a)b = np.array([[5,6],[7,8]])print(b)print(np.concatenate((a,b)))print(np.concatenate((a,b),axis = 1))[[1 2][3 4]][[5 6][7 8]][[1 2][3 4][5 6][7 8]][[1 2 5 6][3 4 7 8]]

六.數(shù)組的分割操作

NumPy中數(shù)組的數(shù)組分割函數(shù)主要如下:

– split 將一個(gè)數(shù)組分割為多個(gè)子數(shù)組– hsplit 將一個(gè)數(shù)組水平分割為多個(gè)子數(shù)組(按列)– vsplit 將一個(gè)數(shù)組豎直分割為多個(gè)子數(shù)組(按行)

1.numpy.split

該函數(shù)沿特定的軸將數(shù)組分割為子數(shù)組。函數(shù)接受三個(gè)參數(shù):

– numpy.split(ary, indices_or_sections, axis)

ary:被分割的輸入數(shù)組
indices_or_sections:可以是整數(shù),,表明要從輸入數(shù)組創(chuàng)建的,,等大小的子數(shù)組的數(shù)量。如果此參數(shù)是一維數(shù)組,,則其元素表明要?jiǎng)?chuàng)建新子數(shù)組的點(diǎn),。
axis:默認(rèn)為 0import numpy as npa = np.arange(9)print(a)print('將數(shù)組分為三個(gè)大小相等的子數(shù)組:')b = np.split(a,3)print(b)print('將數(shù)組在一維數(shù)組中表明的位置分割:')b = np.split(a,[4,7])print(b)

2.numpy.hsplit

split()函數(shù)的特例,其中軸為 1 表示水平分割,。

import numpy as npa = np.arange(16).reshape(4,4)print(a)print('水平分割:')b = np.hsplit(a,2)print(b)[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11][12 13 14 15]]水平分割:[array([[ 0, 1],[ 4, 5],[ 8, 9],[12, 13]]), array([[ 2, 3],[ 6, 7],[10, 11],[14, 15]])]

3.numpy.vsplit

split()函數(shù)的特例,,其中軸為 0 表示豎直分割,無(wú)論輸入數(shù)組的維度是什么,。

import numpy as npa = np.arange(16).reshape(4,4)print(a)print('豎直分割:')b = np.vsplit(a,2)print(b)[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11][12 13 14 15]]豎直分割:[array([[0, 1, 2, 3],[4, 5, 6, 7]]), array([[ 8, 9, 10, 11],[12, 13, 14, 15]])]七.數(shù)組元素操作

NumPy中數(shù)組操作函數(shù)主要如下:

– resize 返回指定形狀的新數(shù)組
– append 將值添加到數(shù)組末尾
– insert 沿指定軸將值插入到指定下標(biāo)之前
– delete 返回刪掉某個(gè)軸的子數(shù)組的新數(shù)組
– unique 尋找數(shù)組內(nèi)的唯一元素

1.numpy.resize

函數(shù)返回指定大小的新數(shù)組,。如果新大小大于原始大小,則包含原始數(shù)組中的元素的重復(fù)副本,。如果小于則去掉原始數(shù)組的部分?jǐn)?shù)據(jù),。該函數(shù)接受以下參數(shù):

– numpy.resize(arr, shape)

– 其中:

arr:要修改大小的輸入數(shù)組shape:返回?cái)?shù)組的新形狀import numpy as npa = np.array([[1,2,3],[4,5,6]])print(a)print(a.shape)b = np.resize(a, (3,2))print(b)print(b.shape)print('修改第二個(gè)數(shù)組的大小:')b = np.resize(a,(3,3))print(b)print('修改第三個(gè)數(shù)組的大?。?#39;)b = np.resize(a,(2,2))print(b)[[1 2 3][4 5 6]](2, 3)[[1 2][3 4][5 6]](3, 2)修改第二個(gè)數(shù)組的大?。?/code>[[1 2 3][4 5 6][1 2 3]]修改第三個(gè)數(shù)組的大小:[[1 2][3 4]]

2.numpy.append

函數(shù)在輸入數(shù)組的末尾添加值,。附加操作不是原地的,,而是分配新的數(shù)組。此外,,輸入數(shù)組的維度必須匹配否則將生成ValueError,。函數(shù)接受下列函數(shù):

– numpy.append(arr, values, axis)

– 其中:

arr:輸入數(shù)組values:要向arr添加的值,比如和arr形狀相同(除了要添加的軸)axis:沿著它完成操作的軸,。如果沒(méi)有提供,兩個(gè)參數(shù)都會(huì)被展開(kāi)。import numpy as npa = np.array([[1,2,3],[4,5,6]])print(a)print(np.append(a, [[7,8,9]],axis = 0))print(np.append(a, [[5,5,5],[7,8,9]],axis = 1))[[1 2 3][4 5 6]][[1 2 3][4 5 6][7 8 9]][[1 2 3 5 5 5][4 5 6 7 8 9]]

3.numpy.insert

函數(shù)在給定索引之前,,沿給定軸在輸入數(shù)組中插入值,。如果值的類型轉(zhuǎn)換為要插入,則它與輸入數(shù)組不同,。插入沒(méi)有原地的,,函數(shù)會(huì)返回一個(gè)新數(shù)組。此外,,如果未提供軸,,則輸入數(shù)組會(huì)被展開(kāi)。

insert()函數(shù)接受以下參數(shù):

– numpy.insert(arr, obj, values, axis)

arr:輸入數(shù)組obj:在其之前插入值的索引values:要插入的值axis:沿著它插入的軸import numpy as npa = np.array([[1,2],[3,4],[5,6]])print(a)print(np.insert(a,3,[11,12]))print(np.insert(a,1,[11],axis = 0))print(np.insert(a,1,[11],axis = 1))[[1 2][3 4][5 6]][ 1 2 3 11 12 4 5 6][[ 1 2][11 11][ 3 4][ 5 6]][[ 1 11 2][ 3 11 4][ 5 11 6]]

4.numpy.delete

函數(shù)返回從輸入數(shù)組中刪除指定子數(shù)組的新數(shù)組,。與insert()函數(shù)的情況一樣,,如果未提供軸參數(shù),則輸入數(shù)組將展開(kāi),。該函 數(shù)接受以下參數(shù):

– Numpy.delete(arr, obj, axis)

arr:輸入數(shù)組obj:可以被切片,,整數(shù)或者整數(shù)數(shù)組,表明要從輸入數(shù)組刪除的子數(shù)組axis:沿著它刪除給定子數(shù)組的軸import numpy as npa = np.array([[1,2],[3,4],[5,6]])print(a)print(np.delete(a,5))print(np.delete(a,1,axis = 1))[[1 2][3 4][5 6]][1 2 3 4 5][[1][3][5]]

5.numpy.unique

函數(shù)返回輸入數(shù)組中的去重元素?cái)?shù)組,。該函數(shù)能夠返回一個(gè)元組,,包含去重?cái)?shù)組和相關(guān)索引的數(shù)組。索引的性質(zhì)取決于函數(shù)調(diào)用中返回參數(shù)的類型,。

– numpy.unique(arr, return_index, return_inverse, return_counts)

arr:輸入數(shù)組,,如果不是一維數(shù)組則會(huì)展開(kāi)return_index:如果為true,返回輸入數(shù)組中的元素下標(biāo)return_inverse:如果為true,,返回去重?cái)?shù)組的下標(biāo),,它可以用于重構(gòu)輸入數(shù)組return_counts:如果為true,返回去重?cái)?shù)組中的元素在原數(shù)組中的出現(xiàn)次數(shù)import numpy as npa = np.array([5,2,6,2,7,5,6,8,2,9])u = np.unique(a)print(u)u,indices = np.unique(a, return_index = True)print(u, indices)u,indices = np.unique(a,return_inverse = True)print(u, indices)u,indices = np.unique(a,return_counts = True)print(u, indices)[2 5 6 7 8 9][2 5 6 7 8 9] [1 0 2 4 7 9][2 5 6 7 8 9] [1 0 2 0 3 1 2 4 0 5][2 5 6 7 8 9] [3 2 2 1 1 1]

八.NumPy - 字符串函數(shù)

以下函數(shù)用于對(duì)dtype為numpy.string_或numpy.unicode_的數(shù)組執(zhí)行向量 化字符串操作,。它們基于 Python 內(nèi)置庫(kù)中的標(biāo)準(zhǔn)字符串函數(shù),。字符數(shù)組類(numpy.char)中定義

import numpy as npprint(np.char.add(['hello'],[' xyz']))print(np.char.add(['hello', 'hi'],[' abc', ' xyz']))print(np.char.multiply('Hello ',3))print(np.char.center('hello', 20,fillchar = '*'))print(np.char.capitalize('hello world'))print(np.char.title('hello how are you?'))print(np.char.lower(['HELLO','WORLD']))print(np.char.lower('HELLO'))print(np.char.upper('hello'))print(np.char.upper(['hello','world']))print(np.char.split ('hello how are you?'))print(np.char.split ('YiibaiPoint,Hyderabad,Telangana', sep = ','))print(np.char.splitlines('hello\nhow are you?'))print(np.char.splitlines('hello\rhow are you?'))print(np.char.strip('ashok arora','a'))print(np.char.strip(['arora','admin','java'],'a'))print(np.char.join(':','dmy'))print(np.char.join([':','-'],['dmy','ymd']))print(np.char.replace ('He is a good boy', 'is', 'was'))a = np.char.encode('hello', 'cp500')print(a)print(np.char.decode(a,'cp500'))['hello xyz']['hello abc' 'hi xyz']Hello Hello Hello*******hello********Hello worldHello How Are You?['hello' 'world']helloHELLO['HELLO' 'WORLD']['hello', 'how', 'are', 'you?']['YiibaiPoint', 'Hyderabad', 'Telangana']['hello', 'how are you?']['hello', 'how are you?']shok aror['ror' 'dmin' 'jav']d:m:y['d:m:y' 'y-m-d']He was a good boyb'\x88\x85\x93\x93\x96'hello九.NumPy - 算數(shù)函數(shù)

NumPy 包含大量的各種數(shù)學(xué)運(yùn)算功能。NumPy 提供標(biāo)準(zhǔn)的三角函數(shù),,算術(shù)運(yùn)算的函數(shù),,復(fù)數(shù)處理函數(shù)等。

– 三角函數(shù)– 舍入函數(shù)– 算數(shù)函數(shù)

1. NumPy -三角函數(shù)

NumPy 擁有標(biāo)準(zhǔn)的三角函數(shù),,它為弧度制單位的給定角度返回三角函
數(shù)比值,。arcsin,arccos,,和arctan函數(shù)返回給定角度的sin,,cos和tan的反
三角函數(shù)。這些函數(shù)的結(jié)果可以通過(guò)numpy.degrees()函數(shù)通過(guò)將弧度制 轉(zhuǎn)換為角度制來(lái)驗(yàn)證,。

import numpy as npa = np.array([0,30,45,60,90])# 通過(guò)乘 pi/180 轉(zhuǎn)化為弧度print(np.sin(a*np.pi/180))print(np.cos(a*np.pi/180))print(np.tan(a*np.pi/180))[ 0. 0.5 0.70710678 0.8660254 1. ][ 1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-016.12323400e-17][ 0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+001.63312394e+16]

2.NumPy -舍入函數(shù)

numpy.around()這個(gè)函數(shù)返回四舍五入到所需精度的值

– numpy.around(a,decimals) – a 輸入數(shù)組– decimals 要舍入的小數(shù)位數(shù),。 默認(rèn)值為0。 如果為負(fù),整數(shù)將四舍五入到小數(shù)點(diǎn)左側(cè)的位置

numpy.floor() 函數(shù)返回不大于輸入?yún)?shù)的最大整數(shù),。

numpy.ceil() 函數(shù)返回輸入值的上限,,大于輸入?yún)?shù)的最小整數(shù)。

import numpy as npa = np.array([1.0, 5.55, 123, 0.567, 25.532])print(np.around(a))print(np.around(a, decimals=1))print(np.floor(a))print(np.ceil(a))[ 1. 6. 123. 1. 26.][ 1. 5.6 123. 0.6 25.5][ 1. 5. 123. 0. 25.][ 1. 6. 123. 1. 26.]

3.NumPy - 算數(shù)運(yùn)算

用于執(zhí)行算術(shù)運(yùn)算(如add(),,subtract(),,multiply()和divide())的輸入數(shù)組必須具有相同的形狀或符合數(shù)組廣播規(guī)則。

– numpy.reciprocal() 函數(shù)返回參數(shù)逐元素的倒數(shù),。– numpy.power() 函數(shù)將第一個(gè)輸入數(shù)組中的元素作為底數(shù),,計(jì)算它與第二個(gè)輸入數(shù)組中相應(yīng)元素的冪。– numpy.mod() 函數(shù)返回輸入數(shù)組中相應(yīng)元素的除法余數(shù),。import numpy as npa = np.array([0.25, 2, 1, 0.2, 100])print(np.reciprocal(a))print(np.power(a,2))a = np.array([10,20,30])b = np.array([3,5,7])print(np.mod(a,b))[ 4. 0.5 1. 5. 0.01][ 6.25000000e-02 4.00000000e+00 1.00000000e+00 4.00000000e-021.00000000e+04][1 0 2]

4.NumPy - 統(tǒng)計(jì)函數(shù)

NumPy 有很多有用的統(tǒng)計(jì)函數(shù),,用于從數(shù)組中給定的元素中查找最小,最大,,百分標(biāo)準(zhǔn)差和方差等,。

– numpy.amin() , numpy.amax() 從給定數(shù)組中的元素沿指定軸返回最小值和最大值。– numpy.ptp() 函數(shù)返回沿軸的值的范圍(最大值 - 最小值),。– numpy.percentile() 表示小于這個(gè)值得觀察值占某個(gè)百分比numpy.percentile(a, q, axis)a 輸入數(shù)組;q 要計(jì)算的百分位數(shù),,在 0 ~ 100 之間;axis 沿著它計(jì)算百分位數(shù)的軸– numpy.median() 返回?cái)?shù)據(jù)樣本的中位數(shù)。– numpy.mean() 沿軸返回?cái)?shù)組中元素的算術(shù)平均值,。– numpy.average() 返回由每個(gè)分量乘以反映其重要性的因子得到的加權(quán)平均值import numpy as npa = np.array([[3,7,5],[8,4,3],[2,4,9]])print(np.amin(a,1))print(np.amax(a,1))print(np.ptp(a))print(np.percentile(a,50))print(np.median(a))print(np.mean(a))print(np.average(a))print(np.std([1,2,3,4])) #返回?cái)?shù)組標(biāo)準(zhǔn)差print(np.var([1,2,3,4])) #返回?cái)?shù)組方差[3 3 2][7 8 9]74.04.05.05.01.118033988751.25十.NumPy排序,、搜索和計(jì)數(shù)函數(shù)

NumPy中提供了各種排序相關(guān)功能。

– numpy.sort函數(shù)返回輸入數(shù)組的排序副本,。numpy.sort(a, axis, kind, order)a 要排序的數(shù)組;axis 沿著它排序數(shù)組的軸,,如果沒(méi)有數(shù)組會(huì)被展開(kāi),沿著最后的軸排序; kind 默認(rèn)為'quicksort'(快速排序);order 如果數(shù)組包含字段,,則是要排序的字段– numpy.argsort() 函數(shù)對(duì)輸入數(shù)組沿給定軸執(zhí)行間接排序,,并使用指定排序類型返回?cái)?shù)據(jù)的索引數(shù)組。這個(gè)索引數(shù)組用于構(gòu)造排序后的數(shù)組,。– numpy.lexsort()函數(shù)使用鍵序列執(zhí)行間接排序,。鍵可以看作是電子表格中的一列。該函數(shù)返回一個(gè)索引數(shù)組,,使用它可以獲得排序數(shù)據(jù),。注意,最后一個(gè)鍵恰好是 sort 的主鍵,。– numpy.argmax() 和 numpy.argmin()這兩個(gè)函數(shù)分別沿給定軸返回最大和最小元素的索引,。– numpy.nonzero() 函數(shù)返回輸入數(shù)組中非零元素的索引。– numpy.where() 函數(shù)返回輸入數(shù)組中滿足給定條件的元素的索引,。– numpy.extract() 函數(shù)返回滿足任何條件的元素,。import numpy as npa = np.array([[3, 7, 3, 1], [9, 7, 8, 7]])print(np.sort(a))print(np.argsort(a))print(np.argmax(a))print(np.argmin(a))print(np.nonzero(a))print(np.where(a > 3))nm = ('raju', 'anil', 'ravi', 'amar')dv = ('f.y.', 's.y.', 's.y.', 'f.y.')print(np.lexsort((dv, nm)))[[1 3 3 7][7 7 8 9]][[3 0 2 1][1 3 2 0]]43(array([0, 0, 0, 0, 1, 1, 1, 1], dtype=int64), array([0, 1, 2, 3, 0, 1, 2, 3], dtype=int64))(array([0, 1, 1, 1, 1], dtype=int64), array([1, 0, 1, 2, 3], dtype=int64))[3 1 0 2]

十一.NumPy IO文件操作

ndarray對(duì)象可以保存到磁盤(pán)文件并從磁盤(pán)文件加載,。可用的 IO 功能有:

– numpy.save() 文件將輸入數(shù)組存儲(chǔ)在具有npy擴(kuò)展名的磁盤(pán)文件中,。– numpy.load() 從npy文件中重建數(shù)組,。– numpy.savetxt()和numpy.loadtxt() 函數(shù)以簡(jiǎn)單文本文件格式存儲(chǔ)和獲取數(shù)組數(shù)據(jù)。import numpy as npa = np.array([1,2,3,4,5])np.save('outfile',a)b = np.load('outfile.npy')print(b)a = np.array([1,2,3,4,5])np.savetxt('out.txt',a)b = np.loadtxt('out.txt')print(b)[1 2 3 4 5][ 1. 2. 3. 4. 5.]

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多