numpy的基本使用3
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                numpy的基本使用3
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                Numpy的基本使用3
官網(wǎng):http://www.numpy.org
import numpy as np #聚合 #生成10個隨機數(shù) L = np.random.random(10) L array([0.05703554, 0.03902933, 0.4824235 , 0.15286251, 0.25063995,0.86616324, 0.39476347, 0.86343803, 0.77289392, 0.13780678]) #Python中: sum(L) 4.017056282550913 #Numpy中(效率更高)推薦該方式 np.sum(L) 4.017056282550913 np.min(L) 0.039029333319153814 L.max() 0.8661632444424849 #矩陣中: X = np.arange(16).reshape(4,4) X array([[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11],[12, 13, 14, 15]]) np.sum(X) 120 #x=0 x軸壓縮 沿y軸(列)求和 np.sum(X,axis=0) array([24, 28, 32, 36]) np.sum(X,axis=1) array([ 6, 22, 38, 54]) #所有元素乘積 np.prod(X) 0 #求平均值 np.mean(X) 7.5 #求中位數(shù) np.median(X) 7.5 #百分位 np.percentile(X,q=50) 7.5 #繪圖中常用的5個百分位點: X = np.arange(1,101) print(X) [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 3637 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 5455 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 7273 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 9091 92 93 94 95 96 97 98 99 100] for percent in [0,25,50,75,100]: ... print(np.percentile(X,q=percent)); ... 1.0 25.75 50.5 75.25 100.0 #方差: np.var(X) 833.25 #生成10000個均值為0 標(biāo)準(zhǔn)差為1的符合正態(tài)分布的點: X = np.random.normal(0,1,size=10000) #平均值趨近于0 np.mean(X) -0.0005517474486229314 #標(biāo)準(zhǔn)差趨近于1 np.std(X) 1.0011496373394013#索引 #最小值的索引 X array([ 0.45997786, -0.79725882, -0.87003988, ..., 0.72032504,-0.13463416, 0.12829127]) np.argmin(X) 7103#排序與索引 x = np.arange(16) x array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) #shuffle打亂順序 np.random.shuffle(x) x array([ 9, 12, 0, 7, 5, 11, 3, 13, 6, 1, 15, 8, 4, 2, 10, 14]) np.sort(x) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) #矩陣中排序 #生成0-9之間4*4的隨機二維數(shù)組 X = np.random.randint(10,size=(4,4)) X array([[6, 9, 6, 9],[5, 4, 8, 9],[9, 4, 2, 7],[5, 5, 5, 1]]) #每行排序 np.sort(X) array([[6, 6, 9, 9],[4, 5, 8, 9],[2, 4, 7, 9],[1, 5, 5, 5]]) #axis默認(rèn)為1 np.sort(X,axis=1) array([[6, 6, 9, 9],[4, 5, 8, 9],[2, 4, 7, 9],[1, 5, 5, 5]]) #每列排序 np.sort(X,axis=0) array([[5, 4, 2, 1],[5, 4, 5, 7],[6, 5, 6, 9],[9, 9, 8, 9]]) x = np.arange(10) np.random.shuffle(x) x array([7, 6, 4, 9, 0, 5, 3, 8, 1, 2]) #根據(jù)值的大小排序 顯示其索引 例如:0所在索引為4 np.argsort(x) array([4, 8, 9, 6, 2, 5, 1, 0, 7, 3], dtype=int64)#partition #參考快排中的分治思想的標(biāo)識位 索引3之前的都比該位置小(無序),后的都比該位置大(無序) np.partition(x,3) #返回索引 array([1, 0, 2, 3, 4, 5, 6, 7, 8, 9])X array([[6, 9, 6, 9],[5, 4, 8, 9],[9, 4, 2, 7],[5, 5, 5, 1]]) #每行 默認(rèn)axis=1 np.partition(X,1,axis=1) array([[6, 6, 9, 9],[4, 5, 8, 9],[2, 4, 9, 7],[1, 5, 5, 5]]) #每列 np.partition(X,1,axis=0) array([[5, 4, 2, 1],[5, 4, 5, 7],[9, 9, 6, 9],[6, 5, 8, 9]])#Fancy Indexing x array([7, 6, 4, 9, 0, 5, 3, 8, 1, 2]) x[3] 9 x[3:10] array([9, 0, 5, 3, 8, 1, 2]) #第三個參數(shù)為步長 x[3:10:2] array([9, 5, 8, 2]) #指定索引 Fancy Index index = [3,5,9] x[index] array([9, 5, 2])index = np.array([[0,2],[1,3]]) x[index] array([[7, 4],[6, 9]])X = np.arange(16).reshape(4,-1) X array([[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11],[12, 13, 14, 15]]) row = np.array([0,1,2]) col = np.array([1,2,3]) X[row,col] #取得是(0,1) (1,2) (2,3)對應(yīng)位置的值 array([ 1, 6, 11]) X[0,col] array([1, 2, 3]) #復(fù)習(xí)::2表示前兩行 X[:2,col] array([[1, 2, 3],[5, 6, 7]]) #復(fù)習(xí):1:3表示中間兩行1和2 col = [True,False,True,True] X[1:3,col] array([[ 4, 6, 7],[ 8, 10, 11]]) X array([[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11],[12, 13, 14, 15]]) col [True, False, True, True]#numpy與array的比較: x array([7, 6, 4, 9, 0, 5, 3, 8, 1, 2]) x>=3 array([ True, True, True, True, False, True, True, True, False,False]) np.sum(x>=3) 7 np.all(x>=0) True X array([[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11],[12, 13, 14, 15]]) np.sum(X%2==0) 8 #查看每行: np.sum(X%2==0,axis=1) array([2, 2, 2, 2]) #查看每列: np.sum(X%2==0,axis=0) array([4, 0, 4, 0]) #注意:與或符號為單個 np.sum((x>3)&(x<8)) 4 np.sum((x>3)|(x<8)) 10 (x>3)|(x<8) array([ True, True, True, True, True, True, True, True, True,True]) np.sum(~(x>3)) 4 #直接使用: x[(x>3)|(x<8)] array([7, 6, 4, 9, 0, 5, 3, 8, 1, 2]) x array([7, 6, 4, 9, 0, 5, 3, 8, 1, 2]) x[x>3] array([7, 6, 4, 9, 5, 8])跟著大佬梳理的流程走下來的,在這里注明一下出處:
https://github.com/Exrick/Machine-Learning
 注:大佬的更直觀詳細(xì)
總結(jié)
以上是生活随笔為你收集整理的numpy的基本使用3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: numpy的基本使用2
- 下一篇: matplotlib的基本使用1
