欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

簡單利用Python進(jìn)行數(shù)據(jù)分析(NumPy基礎(chǔ):數(shù)組與向量化計(jì)算)

NumPy基礎(chǔ):數(shù)組與向量化計(jì)算

公司主營業(yè)務(wù):網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出蒼溪免費(fèi)做網(wǎng)站回饋大家。

安裝numpy及使用

pip install numpy

PyCharm無法使用numpy

File-->setting-->項(xiàng)目名-->Project Interpreter-->本地安裝python-->應(yīng)用

測試代碼

import numpy as npdata = np.random.randn(2,3)print(data)

numpy簡介

作用

ndarry,一種高效多維數(shù)組,提供了基于數(shù)組的邊界算術(shù)操作及靈活的廣播功能

對所有數(shù)據(jù)進(jìn)行快速的矩陣計(jì)算,而無需編寫循環(huán)程序

對硬盤中數(shù)組數(shù)據(jù)進(jìn)行讀寫的工具,并對內(nèi)存映射文件進(jìn)行操作

線性代數(shù)、隨機(jī)數(shù)生成以及傅里葉變換功能

用于連接NumPy到C、C++和FORTRAN語言類庫的C語言API

數(shù)據(jù)分析應(yīng)用

在數(shù)據(jù)處理。清洗、構(gòu)造子集、過濾、變換以及其他計(jì)算中進(jìn)行快速的向量化計(jì)算。

常見的數(shù)組算法,比如sort、unique以及set操作等

高效的描述性統(tǒng)計(jì)和聚合/概述數(shù)據(jù)

數(shù)據(jù)排列和相關(guān)數(shù)據(jù)操作,例如對異構(gòu)數(shù)據(jù)進(jìn)行merge和join

使用數(shù)組表達(dá)式來表明條件邏輯,代替if-elif-else條件分支的循環(huán)

分組數(shù)據(jù)操作(聚合、變換以及函數(shù)式操作)

python數(shù)組計(jì)算歷程

Python中的數(shù)組計(jì)算方式要追溯到1995年,當(dāng)時(shí)Jim Hugunin創(chuàng)造Numeric庫。之后10年里,許多科研編制社區(qū)開始利用Python進(jìn)行數(shù)組編程,但類庫的生態(tài)在2000年之后都是碎片化的。2005年,Travis Oliphant在Numeric和Numarray項(xiàng)目之上打造了NumPy,將社區(qū)整合到用一個(gè)數(shù)組計(jì)算框架下。

NumPy重要原因

NumPy在內(nèi)部將數(shù)據(jù)存儲(chǔ)在連續(xù)的內(nèi)存塊上,這與其他的Python內(nèi)建數(shù)據(jù)結(jié)構(gòu)是不同的。NumPy的算法庫是用C語言寫的,所以在操作數(shù)據(jù)內(nèi)存時(shí)不需要任何類型檢查或者其他管理操作。NumPy數(shù)組使用的內(nèi)存量也小于其他Pyhon內(nèi)建序列。

Numpy可以針對全量數(shù)組進(jìn)行復(fù)雜計(jì)算而不需要寫Python循環(huán)。

性能對比代碼

# NumPy性能和Python常規(guī)對比start = time.time()my_arr = np.arange(1000000)my_arr = my_arr * 2end = time.time()print('Running time: %s Seconds'%(end-start))start = time.time()my_list = list(range(1000000))my_list = my_list * 2end = time.time()print('Running time: %s Seconds' % (end - start))

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

ndarray

NumPy的核心特征之一就是N-維數(shù)組對象--ndarray。ndarray是Python中一個(gè)快速、靈活的大型數(shù)據(jù)集容器。數(shù)組允許你使用類似于標(biāo)量的操作語法在整塊數(shù)據(jù)上進(jìn)行數(shù)學(xué)計(jì)算。

一個(gè)ndarray是一個(gè)通用的多維同類數(shù)據(jù)容器,也就是說,他包含的每一個(gè)元素均為相同類型。每一個(gè)數(shù)組都有一個(gè)shape屬性,用來表征數(shù)組每一維度的數(shù)量;每一個(gè)數(shù)組都有一個(gè)dtype屬性,用來描述數(shù)組的數(shù)據(jù)類型。

生成ndarray

生成數(shù)組最簡單的方式就是使用array函數(shù)。array函數(shù)接收任意的序列型對象(當(dāng)然也包括其他的數(shù)組),生成一個(gè)新的包含傳遞數(shù)據(jù)的NumPy數(shù)組。

屬性

ndim 數(shù)組緯度

shape 數(shù)組緯度和數(shù)量

dtype 數(shù)組類型

數(shù)組生成函數(shù)

array 將輸入數(shù)據(jù)(可以是列表、元組、數(shù)組以及其他序列)轉(zhuǎn)換為ndarray,如不顯式指明數(shù)據(jù)類型,將自動(dòng)判斷;默認(rèn)復(fù)制所有的輸入數(shù)據(jù)。

asarray 將輸入轉(zhuǎn)換為ndarray,但如果輸入已經(jīng)是ndarray則不再復(fù)制

arange Python內(nèi)建函數(shù)range的數(shù)組版,返回一個(gè)數(shù)組

ones 根據(jù)給定形狀和數(shù)據(jù)類型生成全1數(shù)組

ones_like 根據(jù)所誒數(shù)組生成一個(gè)形狀一樣的全1數(shù)組

zeros 根據(jù)給定形狀和數(shù)據(jù)類型生成全0數(shù)組

zeros_like 根據(jù)所給的數(shù)組生成一個(gè)形狀一樣的全0數(shù)組

empty 根據(jù)給定形狀生成一個(gè)沒有初始化數(shù)值的空數(shù)組

empty_like 根據(jù)所給數(shù)組生成一個(gè)形狀一樣但沒有初始化數(shù)值的空數(shù)組

full 根據(jù)給定的形狀和數(shù)據(jù)類型生成指定數(shù)值的數(shù)組

full_like 根據(jù)所給的數(shù)組生成一個(gè)形狀一樣但內(nèi)容是指定數(shù)值的數(shù)組

eye,identity 生成一個(gè)N*N特征矩陣(對角線位置都是1,其余位置都是0)

使用np.empty 來生成一個(gè)全0數(shù)組,并不安全,有些時(shí)候他可能會(huì)返回未初始化的垃圾數(shù)值

ndarray數(shù)據(jù)類型

數(shù)據(jù)類型即dtype,是一個(gè)特殊的對象,他包含了ndarray需要為某一種類型數(shù)據(jù)所申明的內(nèi)存塊信息(也稱為元數(shù)據(jù),即表示數(shù)據(jù)的數(shù)據(jù))

通常不需要擔(dān)心如何記住NumPy數(shù)據(jù)類型,尤其當(dāng)你還是新手的時(shí)候。通常你只需要關(guān)系數(shù)據(jù)的大類,比如浮點(diǎn)型、整數(shù)、布爾值、字符串或者某個(gè)Python對象。當(dāng)你需要在內(nèi)存或者硬盤上做更深入的存取操作時(shí),尤其大數(shù)據(jù)集時(shí),你才真正需要了解存儲(chǔ)的數(shù)據(jù)類型。

數(shù)據(jù)類型

int8,uint8 類型代碼il,ul 有符號和無符號的8數(shù)位整數(shù)

int16,uint16 類型代碼i2,u2 有符號和無符號的16數(shù)位整數(shù)

int32,uint32 類型代碼i4,u4 有符號和無符號的32數(shù)位整數(shù)

int64,uint64 類型代碼i8,u8 有符號和無符號的64數(shù)位整數(shù)

float16 類型代碼f2 半精度浮點(diǎn)數(shù)

float32 類型代碼f4或f 標(biāo)準(zhǔn)單精度浮點(diǎn)數(shù);兼容C語言float

float64 類型代碼f8或d 標(biāo)準(zhǔn)雙精度浮點(diǎn)數(shù);兼容C語言double和Python float

float128 類型代碼f16或g 拓展精度浮點(diǎn)數(shù)

complex64,complex128,complex256 類型代碼c8,c16,c32 分別基于32位、64位、128位浮點(diǎn)數(shù)的復(fù)數(shù)

bool 類型代碼? 布爾值,存儲(chǔ)True或False

object 類型代碼O Python object類型

string_ 類型代碼S 修正的ASC II 字符串類型;例如生成一個(gè)長度為10的字符串類型使用S10

unicode_ 類型代碼U 修改的Unicode類型,生成一個(gè)長度為10的Unicode類型使用U10

浮點(diǎn)數(shù)轉(zhuǎn)換成整數(shù)則小數(shù)點(diǎn)后的部分將被消除

在NumPy中,當(dāng)使用numpy.string_類型作字符串?dāng)?shù)據(jù)要小心,因?yàn)镹umPy會(huì)修正他的大小或者刪除輸入切不發(fā)出警告。pandas在處理非數(shù)值數(shù)據(jù)時(shí)有更直觀的開廂型操作

使用astype時(shí)總生成一個(gè)新的數(shù)組,即使你傳入的dtype與之前一樣

NumPy數(shù)組算術(shù)

數(shù)組之所以重要是因?yàn)樗试S你進(jìn)行批量操作而無需任何for循環(huán),NumPy用戶稱這種特性為向量化

帶有標(biāo)量計(jì)算的算術(shù)操作,會(huì)把計(jì)算參數(shù)傳遞給數(shù)組的每個(gè)元素

同尺寸數(shù)組之間的比較,會(huì)產(chǎn)生一個(gè)布爾值數(shù)組

不同尺寸的數(shù)組間的操作,將會(huì)用到廣播特性,將會(huì)在附錄A中介紹。

基礎(chǔ)索引與切片

數(shù)組切片是原數(shù)組的視圖,意味著數(shù)據(jù)并不是被復(fù)制了任何對于視圖的修改都會(huì)反應(yīng)在原數(shù)組上

如果你還是想要一份數(shù)組切片的拷貝而不是一份視圖的話,你就必須顯式地復(fù)制這個(gè)數(shù)組。arr[5:8].copy()

在一個(gè)二維數(shù)組中,每個(gè)索引值對應(yīng)的元素不是一個(gè)值而是一個(gè)一維數(shù)組。

在多維數(shù)組中,你可以省略后續(xù)索引值,返回對象將是降低一個(gè)維度的數(shù)組

數(shù)組切片索引

數(shù)組延著軸0進(jìn)行切片,表達(dá)式arr[:2]的含義為選擇arr的前兩行

如果將索引和切片混合,就可以得到維度的切片

注意:單獨(dú)一個(gè)冒號標(biāo)識選擇整個(gè)軸上的數(shù)組

arr[:2, 1:] 從開始到第二行,從第一列到最后一列

arr[2] 第三行數(shù)據(jù)

arr[2,:] 第三行數(shù)據(jù)

arr[2:,:] 第三行數(shù)據(jù)

arr[:,:2] 所有行數(shù)據(jù)和首列到第二列

布爾索引

布爾值數(shù)組的長度和數(shù)組軸索引長度一致。你甚至還可以用切片或者整數(shù)值對布爾值數(shù)組進(jìn)行混合匹配

當(dāng)布爾值數(shù)組的長度不正確時(shí),布爾值選擇數(shù)據(jù)的方法并不會(huì)報(bào)錯(cuò),因此建議在使用該特性要注意

為了選擇除條件以外的其他數(shù)據(jù),你可以使用!=或者在條件表達(dá)式前使用~對條件取反

使用布爾值索引選擇數(shù)據(jù)時(shí),總是生成數(shù)據(jù)的拷貝,即使返回的數(shù)組并沒有任何變化。

Python中的關(guān)鍵字and或or對布爾值數(shù)據(jù)并沒有用,要使用&(and)和|(or)來代替

神奇索引

神奇索引時(shí)NumPy中的術(shù)語,用于描述使用整數(shù)數(shù)組進(jìn)行數(shù)據(jù)索引。

神奇搜索與切片不同,他總是將數(shù)據(jù)復(fù)制到一個(gè)新的數(shù)組中。

正數(shù)數(shù)組從前索引,負(fù)數(shù)數(shù)組從后索引

數(shù)組轉(zhuǎn)置和換軸

轉(zhuǎn)置是一種特殊的數(shù)據(jù)重組形式,可以返回底層數(shù)據(jù)的視圖而不需要復(fù)制任何內(nèi)容。數(shù)組擁有transpose方法,也有特殊的T屬性。

T屬性就是數(shù)據(jù)反轉(zhuǎn)

計(jì)算矩陣內(nèi)積會(huì)使用np.dot

對于更高維度數(shù)組,transpose方法可以接收包含軸編號的元組,用于置換軸。

使用.T進(jìn)行轉(zhuǎn)置是換軸的一個(gè)特殊案例,ndarray有一個(gè)swapaxes方法,該方法接收一個(gè)對軸編號作為參數(shù),并對軸進(jìn)行調(diào)整用于重組數(shù)據(jù)

swapaxes返回的是數(shù)據(jù)視圖,而沒有對數(shù)據(jù)進(jìn)行復(fù)制

通用函數(shù):快速的逐元素?cái)?shù)組函數(shù)

含義

通用函數(shù),也可以稱為ufunc,是一種ndarray數(shù)據(jù)中進(jìn)行逐元素操作的函數(shù)。

某些簡單函數(shù)接收一個(gè)或者多個(gè)標(biāo)量數(shù)值,并產(chǎn)生一個(gè)或者多個(gè)標(biāo)量結(jié)果,而通過函數(shù)就是對這些簡單函數(shù)的向量化封裝

一元通用函數(shù)

abs、fabs 逐元素地計(jì)算整數(shù)、浮點(diǎn)數(shù)或者復(fù)數(shù)的絕對值

sqrt 計(jì)算每個(gè)元素的平方根(與arr ** 0.5相等)

square 計(jì)算每個(gè)元素的平方(與arr ** 2相等)

exp 計(jì)算每個(gè)元素的自然數(shù)指數(shù)值ex

log、log10、log2、log1p 分別對應(yīng):自然數(shù)對數(shù)(e為底)、對數(shù)10位底、對數(shù)2為底、log(1+x)

sign 計(jì)算每個(gè)元素的符號值:1(整數(shù))、0(0)、-1(負(fù)數(shù))

ceil 計(jì)算每個(gè)元素的最高整數(shù)值(即大于等于給定數(shù)值的最小整數(shù))

floor 計(jì)算每個(gè)元素的最小整數(shù)值(即小于等于給定元素的最大整數(shù))

rint 將元素保留整數(shù)位,并保持dtype

modf 分別將數(shù)組的小數(shù)部分和整數(shù)部分按數(shù)組形式返回

isnan 返回?cái)?shù)組中的元素是否是一個(gè)NaN(不是一個(gè)數(shù)值),形式為布爾值數(shù)組

isfinite、isinf 分別返回?cái)?shù)組中的元素是否有限(非inf、非NaN)、是否無線的,形式為布爾值數(shù)組

cos、cosh、sin、sinh、tan、tanh 常規(guī)的雙曲三角函數(shù)

arccos、arccosh、arcsin、arcsinh、arctan、arctanh 反三角函數(shù)

logical_not 對數(shù)組的元素按位取反(與~arr效果一致)

二元通用函數(shù)

add 將數(shù)組的對應(yīng)元素相加

subtract 在第二個(gè)數(shù)組中,將第一個(gè)數(shù)組中包含的元素去除

multiply 將數(shù)組的對應(yīng)元素相乘

divide、floor_divide 除或者整除(放棄余數(shù))

power 將第二個(gè)數(shù)組的元素作為第一個(gè)數(shù)組對應(yīng)元素的冪次方

maximum、fmax 逐個(gè)元素計(jì)算最大值,fmax忽略NaN

minmum、fmin 逐個(gè)元素計(jì)算最小值,fmin忽略NaN

mod 按元素的求摸計(jì)算(即求除法的余數(shù))

copysign 將第一個(gè)數(shù)組的符號值改為第二個(gè)數(shù)組的符號值

greater、greater_equal、less、less_equal、equal、not_equal 進(jìn)行逐個(gè)元素的比較,返回布爾值數(shù)組(與數(shù)學(xué)操作符>、>=、<、<=、==、!=效果一致)

logical_and、logical_or、logical_xor 進(jìn)行逐個(gè)元素的邏輯操作(與邏輯操作符&、|、^效果一致)

使用數(shù)組進(jìn)行面向數(shù)組編程

含義

使用NumPy數(shù)組可以使你利用簡單的數(shù)組表達(dá)式完成多種數(shù)據(jù)操作任務(wù),而無需寫些大量循環(huán)。這種利用數(shù)組表達(dá)式來替代顯式循環(huán)的方法稱為向量化

向量化的數(shù)組操作會(huì)比純Python的等價(jià)實(shí)現(xiàn)在速度上快一到兩個(gè)數(shù)量級(甚至更多),這對多有種類的數(shù)值計(jì)算產(chǎn)生了最大的影響

將條件邏輯作為數(shù)組操作

numpy.where函數(shù)是三元表達(dá)式 x if condition else y的向量化版本

np.where 的第一個(gè)參數(shù)是條件,第二個(gè)和第三個(gè)參數(shù)并不一定是數(shù)組可以是標(biāo)量

where在數(shù)據(jù)分析中一個(gè)典型的用法是根據(jù)一個(gè)數(shù)組來生成一個(gè)新的數(shù)組

傳遞給np.where的數(shù)組即可以是同等大小的數(shù)組,也可以是標(biāo)量

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

許多關(guān)于計(jì)算整個(gè)數(shù)組統(tǒng)計(jì)值或者關(guān)于軸向數(shù)據(jù)的數(shù)學(xué)函數(shù),可以作為數(shù)組類型的方法被調(diào)用。你可以使用聚合函數(shù)(通常也叫縮減函數(shù)),比如sum、mean和std(標(biāo)準(zhǔn)差),即可以直接調(diào)用數(shù)組實(shí)例的方法,也可以使用頂層的NumPy函數(shù)。

基礎(chǔ)數(shù)組統(tǒng)計(jì)方法

sum 沿著軸向計(jì)算所有元素的累和,0長度的數(shù)組,累和為0

mean 數(shù)學(xué)平均,0長度的數(shù)組平均值為NaN

std、var 標(biāo)準(zhǔn)差和方差,可以選擇自由度調(diào)整(默認(rèn)分母n)

min、max 最小值和最大值

armin、armax 最小值和最大值的位置

cumsum 從0開始元素累積和

cumprod 從1開始元素累積積

布爾值數(shù)組的方法

布爾值會(huì)被強(qiáng)制為1(True)和0(False)。

可以通過sum用于計(jì)算布爾值數(shù)組中True的個(gè)數(shù)

any檢查數(shù)組中是否至少有一個(gè)True

all檢查是否每個(gè)值都是True

排序鄭州人流醫(yī)院 http://m.zzzy120.com/

和Python的內(nèi)建列表類型相似,NumPy數(shù)組可以使用sort方法按位置排序。

在多維數(shù)組中根據(jù)傳遞的axis值,沿著軸向?qū)γ總€(gè)一維數(shù)據(jù)段進(jìn)行排序

頂層的np.sort方法返回的是已經(jīng)排序號的數(shù)組拷貝,而不是對原數(shù)組按位置排序

唯一值與其他集合邏輯

NumPy包含一些針對一維ndarray的基礎(chǔ)集合操作。

數(shù)組集合操作

unique(x) 計(jì)算x的唯一值并排序

intersect1d(x,y) 計(jì)算x和y的交集,并排序

union1d(x,y) 計(jì)算x和y的并集,并排序

inld(x,y) 計(jì)算x中的元素是否包含在y中,返回一個(gè)布爾值數(shù)組

setdiff1d(x,y) 差集,在x中但不在y中的x元素

setxor1d(x,y) 異或集,在x或y中,但不屬于x、y交集的元素

使用數(shù)組進(jìn)行文件輸入和輸出

NumPy可以在硬盤中將數(shù)據(jù)以文本或者二進(jìn)制文件的形式進(jìn)行存入銀盤或者由硬盤載入。

大部分用戶更傾向于與使用pandas或者其他工具來載入文本或者表格型數(shù)據(jù)

np.save和np.load是高效存取硬盤數(shù)據(jù)的兩大工具函數(shù)。數(shù)組在默認(rèn)情況下是以未壓縮的格式進(jìn)行存儲(chǔ)的,后綴名.npy

壓縮好的數(shù)據(jù)可能會(huì)想要使用numpy.savez_compressed將數(shù)據(jù)存入已經(jīng)壓縮的文件中

線性代數(shù)

線性代數(shù)比如矩陣乘法、分解、行列式等方陣數(shù)學(xué),是所有數(shù)組類庫的重要組成部分

NumPy的線性代數(shù)中所不同的是 * 是矩陣的逐元素乘積而不是矩陣的點(diǎn)乘積,因此NumPy的數(shù)組方法和numpy命名空間中都有一個(gè)函數(shù)dot

numpy.linalg 擁有一個(gè)矩陣分解標(biāo)準(zhǔn)的函數(shù)集,以及其他常用函數(shù)。

數(shù)組.T.dot(數(shù)組) 計(jì)算的是數(shù)組和它的轉(zhuǎn)置矩陣數(shù)組.T的點(diǎn)乘積

特殊符號@也作為中綴操作符,用于點(diǎn)乘矩陣操作

常用numpy.linalg函數(shù)

diag 講一個(gè)方陣的對角(或非對角)元素作為一維數(shù)組返回,或者將一維數(shù)組換成一個(gè)方陣,并且在非對角線上又零點(diǎn)

dot 矩陣點(diǎn)乘

trace 計(jì)算對角元素和

eig 計(jì)算方陣的特征值和特征向量

inv 計(jì)算方陣的逆矩陣

pinv 計(jì)算矩陣的Moore-Penrose偽逆

qr 計(jì)算QR分解

svd 計(jì)算奇異值分解(SVD)

solve 求解x的線性系統(tǒng)Ax = b ,其中A是方陣

lstsq 計(jì)算Ax = b 的最小二乘解

偽隨機(jī)數(shù)生成

numpy.random模塊填補(bǔ)了Python內(nèi)建在random模塊的不足,可以高效地生成多種概率分布下的完整樣本值數(shù)組

Python內(nèi)建random模塊一次中能生成一個(gè)值

偽隨機(jī)數(shù)他們是由具有確定性行為的算法根據(jù)隨機(jī)數(shù)生成器中的隨機(jī)數(shù)種子生成,可以通過np.random.seed更改NumPy的隨機(jī)數(shù)種子

numpy.random中的數(shù)據(jù)生成函數(shù)使用一個(gè)全局隨機(jī)數(shù)種子。為了避免全局狀態(tài),你可以使用numpy.random.RandomState創(chuàng)建一個(gè)隨機(jī)數(shù)生成器,使數(shù)據(jù)獨(dú)立于其他的隨機(jī)數(shù)狀態(tài)

numpy.random中的部分函數(shù)

seed 向隨機(jī)數(shù)生成器傳遞隨機(jī)狀態(tài)種子

permutation 返回一個(gè)序列的隨機(jī)排列,或者返回一個(gè)亂序的整數(shù)范圍序列

shuffle 隨機(jī)排列一個(gè)序列

rand 從均勻分布中抽取樣本

randint 根據(jù)給定的由低到高的范圍抽取隨機(jī)整數(shù)

randn 從均值0方差1的正態(tài)分布中抽取樣本(MATLAB型接口)

binomial 從二項(xiàng)分布中抽取樣本

normal 從正態(tài)(高斯)分布中抽取樣本

beta 從beta分布中抽取樣本

chisquare 從卡方分布中抽取樣本

gamma 從伽馬分布中抽取樣本

uniform 從均勻[0,1)分布中抽取樣本

示例:隨機(jī)漫步

隨機(jī)漫步模型提供了一個(gè)適用數(shù)組操作的說明性應(yīng)用

一次性模擬多次隨機(jī)漫步

# 模擬多次隨機(jī)漫步,比如說5000步,如果傳入一個(gè)2個(gè)元素的元組# numpy.random中的函數(shù)可以生成一個(gè)二維抽取數(shù)組,并且我們可# 以一次性地跨行計(jì)算出全部5000個(gè)隨機(jī)不的累積和n = 5000ns = 1000d = np.random.randint(0,2,size=(n,ns))s = np.where( d > 0,1,-1)w = s.cumsum(1)print(w)# 現(xiàn)在我們可以計(jì)算出這些隨機(jī)步的最大值和最小值print(w.max())print(w.min())# 讓我們在這些隨機(jī)步中計(jì)算出30或者-30的最小穿越時(shí)間。這有點(diǎn)辣手# 因?yàn)槲覀儾皇撬械?000都達(dá)到了30.我們可以使用any方法來檢查hi30 = (np.abs(w) >= 30).any(1)print(hi30)print(hi30.sum())# 我們可以使用布爾值數(shù)組來選出絕對不輸超過30的步所在的行,并使用# argmax從軸向1上獲取時(shí)間c_time = (np.abs(w[hi30]) >= 30).argmax(1)print(c_time.mean())

網(wǎng)頁名稱:簡單利用Python進(jìn)行數(shù)據(jù)分析(NumPy基礎(chǔ):數(shù)組與向量化計(jì)算)
文章路徑:http://aaarwkj.com/article28/jeijcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、關(guān)鍵詞優(yōu)化、外貿(mào)建站、Google、手機(jī)網(wǎng)站建設(shè)虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
免费精品黑人一区二区三区| 91九色最新国产在线| 91美女黑丝免费国产视频| av二区不卡国产精品| 欧美日韩亚洲中文国产| 青青草成人一区二区三区| 国产一区二区在线乱码| 91麻豆亚洲国产成人久久| 日韩精品电影一区在线观看| 九九热在线免费观看精品视频| 中文字幕av日韩在线| 免费黄色日韩在线观看| 亚洲精品熟女av影院| 未满十八禁止免费视频| 精品视频在线观看传媒| 欧美二区三区精品在线| 女性裸体无遮挡啪啪网站| 日本韩国国产三级在线| 中文字幕制服国产精品| 国产又粗又长又大又长| 免费观看国内性生活大片| 国产亚洲中文久久网久久| 激情啪啪啪的免费网站| 欧美日韩国产成人激情| 大屁股白浆一区二区三区| 欧美日韩亚洲综合在线| 精品人妻一区二区三区蜜桃视频| 人妻中文字幕一区二区三| 亚洲国产精品一区二区首页| 五月婷婷丁香综合中文字幕| 精品久久久久久亚洲电影| 羞羞av一区二区三区| 日本女优邻居人妻中文字幕| 午夜福利大片在线观看视频| 亚洲另类视频一区二区| 麻豆看片高清在线播放| 国产在线观看91精品一区| 日本在线免费观看91| 日本不卡不二三区在线看| 日韩国产欧美亚洲一区不卡| 亚洲欧美日韩精品二区|