資料分析 numpy基礎

2022-08-24 23:00:12 字數 3040 閱讀 1740

目錄​ numpy是高效能科學計算和資料分析的基礎包。它也是pandas等其他資料分析的工具的基礎,基本所有資料分析的包都用過它。

​ numpy為python帶來了真正的多維陣列功能,並且提供了豐富的函式庫處理這些陣列。它將常用的數學函式都支援向量化運算,使得這些數學函式能夠直接對陣列進行操作,將本來需要在python級別進行的迴圈,放到c語言的運算中,明顯地提高了程式的運算速度。

安裝方法:

​ pip install numpy

引用方式:

​ import numpy as np

​ 這是官方推薦的匯入方式,不要用 from numpy import * ,因為有可能與python中自帶的一些方法衝突,例如 max 、 min 等。

numpy的核心特徵就是n-維陣列對——ndarray.

2.1、ndarray是乙個多維陣列列表

這個陣列跟python中的列表的區別:

陣列物件內的元素型別必須相同

陣列大小不可修改

2.2、常用屬性

​ t:陣列的轉置(對高維陣列而言)

​ dtype:陣列元素的資料型別

​ size: 陣列元素的個數

​ ndim: 陣列的維數

​ shape: 陣列的維度大小(以元組形式)

2.3、資料型別

dtype:

布林型: bool_

整型: int_int8 int16 int32 int 64

無符號整型: uint8 uint16 uint32 uint64

浮點型: float_ float16 float32 float64

複數型: complex_ complex64 complex128

2.4、ndarray-建立

建立方法:

array(): 將列表轉換為陣列,可選擇顯式指定dtype

arange(): range的numpy版,支援浮點數。顧頭不顧尾

linspace(): 類似arange(),第三個引數為陣列長度。顧頭也顧尾

zeros(): 根據指定形狀和dtype建立全0陣列,

ones(): 根據指定形狀和dtype建立全1陣列

empty(): 根據指定形狀和dtype建立空陣列(隨機值)

eye(): 根據指定邊長和dtype建立單位矩陣

​ 補充:

​ astype()方法可以修改陣列的資料型別

​ int32只能表示(-231,231-1),因為它只有32個位,只能表示2**32個數

​ 無符號整型,只能用來存正數,不能用來存負數

7、簡單運算、索引和切片

​ 簡單運算:

​ 陣列和標量(數字)之間運算:arr * 3

​ 同樣大小陣列之間的運算:arr1 + arr2

​ 索引:

​ reshape() 改變陣列的維數

​ arr[3,2] 陣列索引寫法

​ 切片:不拷貝直接修改原資料,需要拷貝則用.copy()

​ arr[1:4, 1:5] 先行後列,顧頭不顧尾。

能對陣列中所有元素同時進行運算的函式就是通用函式

常見通用函式:

能夠接受乙個陣列的叫做一元函式,接受兩個陣列的叫二元函式,結果返回的也是乙個陣列

一元函式:

abs、fabs:分別是計算整數和浮點數的絕對值

sqrt: 計算各元素的平方根

square: 計算各元素的平方

exp: 計算各元素的指數e**x

log: 計算自然對數

sign: 計算各元素的正負號

ceil: 計算各元素的ceiling值

floor: 計算各元素floor值,即小於等於該值的最大整數

rint: 計算各元素的值四捨五入到最接近的整數,保留dtype

​ modf: 將陣列的小數部分和整數部分以兩個獨立陣列的形式返回,與python的divmod方法類似

​ isnan: 計算各元素的正負號

​ isinf: 表示那些元素是無窮的布林型陣列

​ cos,sin,tan: 普通型和雙曲型三角函式

​ 二元函式:

​ add: 將陣列中對應的元素相加

​ subtract: 從第乙個陣列中減去第二個陣列中的元素

​ multiply: 陣列元素相乘

​ divide、floor_divide: 除法或向下圓整除法(捨棄餘數)

​ power: 對第乙個陣列中的元素a,根據第二個陣列中的相應元素b計算a**b

​ maximum,fmax :計算最大值,fmax忽略nan

​ miximum,fmix: 計算最小值,fmin忽略nan

​ mod: 元素的求模計算(除法的餘數)

​ 浮點數float有兩個特殊值:

​ 1、nan(not a number):不等於任何浮點數(nan != nan)

​ 2、inf(infinity):比任何浮點數都大

​ numpy中建立特殊值:np.nan、np.inf

​ 資料分析中,nan常被用作表示資料缺失值

​ sum: 求和

​ cumsum: 求字首和

​ mean: 求平均數

​ std: 求標準差

​ var: 求方差

​ min: 求最小值

​ max: 求最大值

​ argmin: 求最小值索引

​ argmax: 求最大值索引

​ 隨機數生成函式在np.random的子包當中

​ 常用函式

​ rand: 給定形狀產生隨機數組(0到1之間的數)

​ randint: 給定形狀產生隨機整數

​ shuffle: 與random.shuffle相同

​ uniform: 給定形狀產生隨機數組

資料分析 numpy基礎(二)

matr1 np.mat 1 2 3 4 5 6 7 8 9 用mat函式建立矩陣 matr2 np.matrix 1,2,3 4,5,6 7,8,9 用matrix函式建立矩陣 np.bmat arr1 arr2 arr1 arr2 用bmat函式合成矩陣 矩陣相乘 matr1 matr2 矩陣元...

資料分析 numpy基礎(三)

橫向堆疊,將兩個表在x軸向拼接在一起 pd.concat objs,axis 0,join outer join axes none,ignore index false 引數名稱 說明objs 接受多個series,dataframe,panel組合,表示參與的組合 axis 連線的軸向,axis...

numpy資料分析

2020 11 2 import array arr array.array i list range 10 i表示整型,生成序列後不能改變資料型別 多維陣列ndarray方便處理多維度運算,運算效率高 nparr np.array list range 10 修改值,浮點數取整數段 nparr 2...