乙個在python中做科學計算的基礎庫,重在數值計算,也是大部分python科學計算庫的基礎庫,常用於大型、多維陣列上執行數值計算。
numpy中的軸(axis):
簡單理解為方向,使用0,1,2…數字表示,對於一位陣列,只有乙個0軸,對於二維陣列,有0軸和1軸,對於三維陣列有0,1,2軸。
如果兩個陣列的後緣維度(即從末尾開始算起的維度)的軸長度相符或者其中一方的長度為1,則認為它們是廣播相容的,廣播會在缺失和(或)長度為1的維度上進行。
值得一提的是:numpy陣列的廣播機制,在計算過程中,加減乘除的值會被廣播到所有的元素上面
建立:a = np.array([1,2,3,4,5]) / a = np.array(range(1,6)) / a = np.arange(1,6):型別為ndarray陣列
指定常見資料型別dtype、修改陣列的資料型別astype
a = np.array([1,0,1,0], dtype=np.fool)
檢視陣列的形狀:a.shape
修改陣列的形狀:a.reshape(返回的輸出值,原陣列不變)
把陣列轉化為一維度陣列:a.flatten() 不能用a.reshape(1,12):嘗試一下發現並非一維陣列
csv:逗號分隔值檔案/顯示:**狀態
原始檔:換行和逗號分隔行列的格式化文字,每一行的資料表示一條記錄
對於txt檔案:np.loadtxt(fname,dtype=np.float,delimiter=none,skiprows=0,usecols=none,unpack=false)dtype:預設情況下對於較大的資料會將其變為科學技術的方式
delimiter:分隔字串,預設是任何空格,改為 逗號(指定邊界符號是什麼,不指定將會導致每行資料為乙個整體的字串而報錯)
skiprows:跳過前x行們一般跳過第一行表頭
usecols:讀取指定的行列,索引,元組型別
unpack:若true,讀入屬性將分別寫入不同陣列變數,false讀入資料值寫入乙個陣列變數,預設為 false(效果例項:預設是false(0),預設情況下有多少條資料就會有多少行,為true(1)的情況下,每一列資料會組成一行,原始資料有多少列,載入出來的資料就會有多少行,相當於轉置的效果numpy中轉置的處理方t.transpose()/t.swapaxes(1,0)/t.t)
取行/列:a[1]:取一行 a[:,2]:取一列 a[1:3]:取多行 a[:,2:4]:取多列
a[[1,3],:] / a[:,[2,4]]:取特定行列
三元運算子:np.where(t<10,0,10):小於10替換為0,其餘替換為10
clip(裁剪):t.clip(10,18):小於10替換為10,大於18替換為18,nan不會被替換
當讀取本地的檔案為float時,若有缺失,就會出現nan(或者做了不合適計算)
inf表示正無窮、-inf表示負無窮
注意: 兩個nan是不相等的
判斷nan的個數:np.count_nanzero(t!=t)/判斷是否為nan:np.isnan(t)
nan和任何值計算都為nan
求和:t.sum(axis=none)
均值:t.mean(a,axis=none) 受離群點的影響較大
中值:np.median(t,axis=none)
最大值:t.max(axis=none)
最小值:t.min(axis=none)
極值:np.ptp(t,axis=none) 即最大值和最小值只差
標準差:t.std(axis=none)
獲取最大值最小值的位置
np.argmax(t,axis=0)
np.argmin(t,axis=1)
建立乙個全0的陣列: np.zeros((3,4))
建立乙個全1的陣列:np.ones((3,4))
建立乙個對角線為1的正方形陣列(方陣):np.eye(3)
處理缺失值,用pandas庫更方便
numpy中複製用函式a=b.copy()
資料拼接:np.vstack((t1,t2)):豎直拼接 / np.hstack((t1,t2)):水平拼接
行列交換:t[[1,2],:]=t[[2,1],:]:行交換 / t[:,[0,2]]=t[:,[2,0]]:列交換
資料分析之numpy庫
numpy的是的python語言的乙個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫.numpy內部解除了的python的pil 全域性直譯器鎖 運算效率極好,是大量機器學習框架的基礎庫!numpy的主要物件是同構多維陣列。它是乙個元素表 通常是數字 都是相同的...
numpy資料分析
2020 11 2 import array arr array.array i list range 10 i表示整型,生成序列後不能改變資料型別 多維陣列ndarray方便處理多維度運算,運算效率高 nparr np.array list range 10 修改值,浮點數取整數段 nparr 2...
資料分析 Numpy
什麼是numpy numpy這個詞 於兩個單詞 numerical和python。numpy是python中的乙個運算速度非常快的乙個數學庫,它非常重視陣列,很多的資料科學的包都是依賴於numpy的。它允許你在python中進行向量和矩陣計算,並且由於許多底層函式實際上是用c編寫的,因此你可以體驗在...