資料分析 numpy的基本使用

2022-05-10 19:46:07 字數 2847 閱讀 7149

numpy是高效能科學計算和資料分析的基礎包。它是pandas等其他各種工具的基礎。

numpy的主要功能:

python中操作方式:

也可以通過安裝anaconda軟體操作,裡面包含(numpy,pandas以及matplotlib多個庫),本片文章是在anaconda3中執行!!!

anaconda安裝及建立專案教程:

建立ndarray:np.array()

ndarray是多維陣列,與列表的區別是:

常用屬性:

**示例:

ndarray資料型別:dtype: 

●布林型:bool_

●整型:int_ int8 int16 int32 int64

●無符號整型:uint8 uint16 uint32 uint64

●浮點型:float_ float16 float32 float64

●複數型:complex_ complex64 complex128

四、numpy:ndarray-建立

建立ndarray:

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

●arange() range的numpy版,支援浮點數

●linspace() 類似arange(),第三個引數為陣列長度

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

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

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

五、numpy:索引和切片

-**示例:

●a= np.array([0,1,2,3,4,5,6,7,8,9])

●a2 = np.array([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])

-陣列和標量之間的運算

●a+1 a*3 1//a a**0.5

-同樣大小陣列之間的運算

●a+b a/b a**b

-陣列的索引

●一維陣列:a[5] --> #5

●多維陣列:

●列表式寫法:a2[2][3] --> #13

-陣列的切片

●一維陣列:a[5:8]   --> # array([5,6,7])  

a[:3] = 1 --> # array([1,1,1,3,4,5,6,7,8,9])

●二維陣列:a2[1:2, :4] --> # array([[5, 6, 7, 8]])  

a2[:,:1] --> # array([[0],[5],[10]])

a2[:,1] --> # array([1,6,11])

-與列表不同,陣列切片時並不會自動複製,在切片陣列上的修改會影響原陣列。

●【解決方法: copy()】

六、numpy:布林型索引

問題:給乙個陣列,選出陣列中所有大於5的數。

答案:a[a>5]

原理:a>5會對a中的每乙個元素進行判斷,返回乙個布林陣列

布林型索引:將同樣大小的布林陣列傳進索引,會返回乙個由所有true對應位置的元素的陣列

問題2:給乙個陣列,選出陣列中所有大於5的偶數。

答案:a[(a>5) & (a%2==0)]

原理:此處不能用and,and為關鍵字;&為運算子,表示與的意思

問題3:給乙個陣列,選出陣列中所有大於5的數或偶數。

答案:a[(a>5) | (a%2==0)]

原理:此處 |表示或的意思

備註:~表示非的意思

七、numpy:花式索引*

問題1:對於乙個陣列,選出其第1,3,4,6,7個元素,組成新的二維陣列。

●答案:a[[1,3,4,6,7]]

問題2:對乙個二維陣列,選出其第一列和第三列,組成新的二維陣列。

●答案:a[:,[1,3]]

問題3: 已知 a2 = np.array([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]),想要獲取新的陣列array([[1,3],[11,13]])該怎麼切?

●答案: a2[[0,2],:][:,[1,3]]

●備註:切勿兩邊同時花式索引,a2[[0,2],[1,3]],得出 array([ 1, 13])

八、numpy:通用函式通用函式:能同時對陣列中所有元素進行運算的函式

九、numpy:數學和統計方法

常用函式:

●sum 求和

●mean 求平均數

●std 求標準差

●var 求方差

●min 求最小值

●max 求最大值

●argmin 求最小值索引

●argmax 求最大值索引

十、numpy:隨機數生成

常用函式

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

●randint 給定形狀產生隨機整數

●choice 給定形狀產生隨機選擇

●shuffle 與random.shuffle相同

●uniform 給定形狀產生隨機數組

02 資料分析 numpy的使用

名稱 描述bool 布林型資料型別 true 或者 false int預設的整數型別 類似於 c 語言中的 long,int32 或 int64 intc 與 c 的 int 型別一樣,一般是 int32 或 int 64 intp 用於索引的整數型別 類似於 c 的 ssize t,一般情況下仍然...

Pyhon資料分析 Numpy基本操作

importnumpyasnp a numpy.array numpy 陣列 矩陣 a 1 取第二列 建立陣列 矩陣 陣列 即矩陣 的維度被稱為axes,維數稱為 rank np.arange num reshape m,n 一維陣列轉變為 m,n 矩陣 np.linspace 隨機數字矩陣 num...

numpy資料分析

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