免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Numpy基礎(chǔ)筆記

    Numpy簡(jiǎn)介

    Numpy(Numerical Python的簡(jiǎn)稱)是高性能科學(xué)計(jì)算和數(shù)據(jù)分析的基礎(chǔ)包。其部分功能如下:

    ①ndarray,一個(gè)具有矢量算術(shù)運(yùn)算和復(fù)雜廣播能力的快速且節(jié)省空間的多維數(shù)組。
    ②用于對(duì)整組數(shù)據(jù)進(jìn)行快速運(yùn)算的標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)(無需編寫循環(huán))。
    ③用于讀寫磁盤數(shù)據(jù)的工具以及用于操作內(nèi)存映射文件的工具。
    ④線性代數(shù)、隨機(jī)數(shù)生成以及傅里葉變換功能。

    ⑤用于集成由C、C++、Fortran等語言編寫的代碼的工具。

    創(chuàng)建數(shù)組

    創(chuàng)建數(shù)組最簡(jiǎn)單的辦法是使用array函數(shù)。它接受一切序列型的對(duì)象(包括其他數(shù)組),然后產(chǎn)生一個(gè)新的含有傳入數(shù)據(jù)的NumPy數(shù)組。以一個(gè)列表的轉(zhuǎn)換為例:

data1=[6,7.5,8,0,1]    #創(chuàng)建列表arr1=np.array(data1)    #轉(zhuǎn)換為數(shù)組arr1.dtype    #數(shù)據(jù)類型保存在dtype對(duì)象中data2=[[1,2,3,4],[5,6,7,8]]    #創(chuàng)建嵌套序列(由等長(zhǎng)列表組成的列表)arr2=np.array(data2)    #轉(zhuǎn)換為多維數(shù)組np.zeros(10)    #創(chuàng)建指定長(zhǎng)度(10)的全0數(shù)組np.ones((3,6))    #創(chuàng)建指定長(zhǎng)度的(3行6列二維)的全1數(shù)組range(10)    #創(chuàng)建指定數(shù)量的順序列表(內(nèi)置函數(shù),默認(rèn)0開始)arange(10)    #創(chuàng)建指定數(shù)量的順序數(shù)組eye(10)    #創(chuàng)建一個(gè)正方的N×N單位矩陣arr1=np.array([1,2,3],dtype=np.float64)    #解釋為特定數(shù)據(jù)類型
    數(shù)組和標(biāo)量之間的運(yùn)算

arr=np.array([[1.,2.,3.],[4.,5.,6.]])    #創(chuàng)建二維數(shù)組arr*arr    #行列號(hào)相同的數(shù)組元素間運(yùn)算arr-arr1/arrarr*0.5
    基本的索引與切片

arr=np.arange(10)arr[5]    #索引第6個(gè)元素arr[5:8]    #索引第6到第9個(gè)元素作為數(shù)組arr[5:8]=12    #令第6到第9個(gè)元素等于12arr_slice=arr[5:8]    #數(shù)組切片是原始數(shù)據(jù)的視圖,視圖上的任何修改都會(huì)反映到原數(shù)組arr_slice[:]=64    #將數(shù)組切片的全部元素改為64arr[5:8].copy()    #得到數(shù)組切片的一份副本arr2d=np.array([[1,2,3],[4,5,6],[7,8,9]])arr2d[2]    #索引二維數(shù)組第3行arr2d[0][2]  arr2d[0,2]    #等價(jià)索引1行3列元素arr2d[:2]    #索引第1行和第2行(不含第3行)arr2d[:,:1]    #索引第1列arr2d[:-2]    #使用負(fù)數(shù)索引將從尾部開始選取行
    數(shù)組轉(zhuǎn)置和軸對(duì)換
    轉(zhuǎn)置(transpose)是重塑的一種特殊形式,它返回的是源數(shù)據(jù)的視圖(不會(huì)進(jìn)行復(fù)制操作)。

arr=np.arange(15).reshape((3,5))    #生成順序數(shù)組,后整形為3行5列arr.T    #轉(zhuǎn)置arr=np.random.randn(6,3)    #randn函數(shù)生成一些正態(tài)分布的隨機(jī)數(shù)組(6行3列)np.dot(arr.T,arr)    #利用np.dot計(jì)算矩陣內(nèi)積XTX
   通用函數(shù):快速的元素級(jí)數(shù)組函數(shù)

    通用函數(shù)(即ufunc)是一種對(duì)ndarray中的數(shù)據(jù)執(zhí)行元素級(jí)運(yùn)算的函數(shù)。

arr=np.arange(10)np.sqrt(arr)    #計(jì)算各元素的平方根(arr**0.5)exp  #計(jì)算各元素指數(shù)ex;  abs  #絕對(duì)值;np.add(x,y)  #x、y數(shù)組中對(duì)應(yīng)元素相加;  subtract #相減;  multiply #相乘;  divide #相除;
    利用數(shù)組進(jìn)行數(shù)據(jù)處理

    用數(shù)組表達(dá)式代替循環(huán)的做法,通常稱為矢量化
    將條件邏輯表述為數(shù)組運(yùn)算

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

xarr=np.array([1.1,1.2,1.3,1.4,1.5])    #兩個(gè)數(shù)值數(shù)組yarr=np.array([2.1,2.2,2.3,2.4,2.5])cond=np.array([True,False,True,True,False])    #一個(gè)布爾數(shù)組result=np.where(cond,xarr,yarr)    #三元表達(dá)式
    數(shù)學(xué)和統(tǒng)計(jì)方法
    可以通過數(shù)組上的一組數(shù)學(xué)函數(shù)對(duì)整個(gè)數(shù)組或某個(gè)軸向的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)計(jì)算。Sum、mean以及標(biāo)準(zhǔn)差std等聚合計(jì)算(aggregation,通常叫做約簡(jiǎn)(reduction))既可以當(dāng)做數(shù)組的實(shí)例方法調(diào)用,也可以當(dāng)做頂級(jí)NumPy函數(shù)使用:

arr=np.random.randn(5,4)arr.mean();  np.mean(arr);  arr.sum();arr.mean(axis=1)    #計(jì)算該軸上的統(tǒng)計(jì)值(0為列,1為行)
   用于布爾型數(shù)組的方法
    布爾值會(huì)被強(qiáng)制轉(zhuǎn)換為1(True)和0(False)。因此,sum經(jīng)常被用來對(duì)布爾型數(shù)組中的True值計(jì)數(shù):
arr=randn(100)(arr>0).sum()    #正值的數(shù)量bools.any()    #用于測(cè)試數(shù)組中是否存在一個(gè)或多個(gè)Truebools.all()    #用于測(cè)試數(shù)組中所有值是否都是True
    排序
    跟Python內(nèi)置的列表類型一樣,NumPy數(shù)組也可以通過sort方法就地排序(修改數(shù)組本身)。

arr=randn(8)arr.sort()arr=randn(5,3)arr.sort(0)  #二維數(shù)組按列排序;  arr.sort(1)  #二維數(shù)組按行排序;
   唯一化
ints=np.array([3,3,3,2,2,1,1,4,4])np.unique(names)    #找出數(shù)組中的唯一值并返回已排序的結(jié)果
    用于數(shù)組的文件輸入輸出
    Numpy能夠讀寫磁盤上的文本數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。

arr=np.arange(10)np.save(‘some_array’,arr)  #數(shù)組以未壓縮的原始二進(jìn)制格式保存在.npy文件中np.load(‘some_array’)  #通過np.load讀取磁盤上的數(shù)組np.savez(‘a(chǎn)rray_archive.npz’,a=arr,b=arr)  #將多個(gè)數(shù)組以保存在一個(gè)壓縮文件中a=np.arange(0,12,0.5).reshape(4,-1)np.savetxt(‘E:\\knakan\\a.txt’,a)  #缺省按照’%.18e’格式保存數(shù)據(jù),以空格分隔np.loadtxt(‘E:\\kankan\\a.txt’)np.savetxt(‘E:\\kankan\\a.txt’,a,fmt=”%d”,delimiter=”,”)  #改為保存為整數(shù),以逗號(hào)分隔np.loadtxt(‘E:\\kankan\\a.txt’,delimiter=”,”)  #讀入時(shí)也需指定逗號(hào)分隔
   線性代數(shù)

x=np.array([[1.,2.,3.],[4.,5.,6.]])y=np.array([[6.,23.],[-1,7],[8,9]])x.dot(y)  #矩陣乘法,相當(dāng)于np.dot(x,y)

【參考文獻(xiàn)】

[1]. 利用Python進(jìn)行數(shù)據(jù)分析,wes McKinney著,唐學(xué)韜譯,2014年,機(jī)械工業(yè)出版社









本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
從零開始學(xué)數(shù)據(jù)分析:詳解Numpy 入門和實(shí)戰(zhàn)
numpy數(shù)組、向量、矩陣運(yùn)算
numpy中生成隨機(jī)數(shù)的技巧匯總
Python數(shù)據(jù)分析之numpy學(xué)習(xí)(二)
Python 數(shù)據(jù)分析基礎(chǔ)包:Numpy
Python數(shù)據(jù)處理手冊(cè)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服