Python數據分析之Numpy庫的使用詳解

前言

由於自己並不以Python語言為主,這裡隻是簡單介紹一下Numpy庫的使用

提示:以下是本篇文章正文內容

🧡Numpy庫介紹

numpy 庫處理的最基礎數據類型是由同種元素構成的多維數組(ndarray), 簡稱” 數組”,數組中所有元素的類型必須相同, 數組中元素可以用整數索引, 序號從0開始。 ndarray類型的維度(dimensions)叫做軸(axes), 軸的個數叫做秩(rank)。 一維數組的秩為1, 二維數組的秩為2, 二維數組 相當於由兩個一維數組構成

numpy 庫概述:
由於numpy 庫中函數較多且命名容易與常用命名混淆,建議采用如下方式引用numpy 庫:

import numpy as np

其中, as保留字與import一起使用能夠改變後續代碼中庫的命名空間, 有助於提高代碼可讀性。 簡單說, 在程序的後續部分中, np代替numpy。

💙ndarray 類常用屬性

創建一個簡單的數組後, 可以查看ndarray類型有一些基本屬性

1.ndarray.ndim
數組軸的個數,在python的世界中,軸的個數被稱作秩

2.ndarray.shape
數組的維度。這是一個指示數組在每個維度上大小的整數元組。例如一個n排m列的矩陣,它的shape屬性將是(2,3),這個元組的長度顯然是秩,即維度或者ndim屬性

3.ndarray.size
數組元素的總個數,等於shape屬性中元組元素的乘積。

4.ndarray.dtype
一個用來描述數組中元素類型的對象,可以通過創造或指定dtype使用標準Python類型。另外NumPy提供它自己的數據類型。

5.ndarray.itemsize
數組中每個元素的字節大小。例如,一個元素類型為float64的數組itemsiz屬性值為8(=64/8),又如,一個元素類型為complex32的數組item屬性為4(=32/8).

6.ndarray.data
包含實際數組元素的緩沖區,通常我們不需要使用這個屬性,因為我們總是通過索引來使用數組中的元素。

import numpy as np #引入numpy模塊
a = np.ones((4,5))
print(a)
print('數據軸個數: ',a.ndim)
print('每個維度的數據個數: ',a.shape)
print('數據類型',a.dtype)

# 結果
[[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]]
數據軸個數:  2
每個維度的數據個數:  (4, 5)
數據類型 float64

小結:

在這裡插入圖片描述

💚Numpy常用函數

🍓array函數

函數原型:

np.array([x,y,x],dtype=int)  # 從列表和元組中創建數組

功能:array函數將列表轉矩陣

import numpy as np #引入numpy模塊
array=np.array([[1,2,3], #列表轉矩陣
[4,5,6]])
print(array)
print('number of dim',array.ndim) #輸出矩陣數據軸數
print('size',array.size) #輸出矩陣總元素個數

# 結果
[[1 2 3]
[4 5 6]]
number of dim 2
size 6

🥝arange()函數和linspace()函數

函數原型:

np.arange(x,y,i)   # 創建一個由x到y,以i為步長的數組
np.linspace(x,y,n)  # 創建一個由x到y,等分為n個元素的數組
import numpy as np #引入numpy模塊
a=np.arange(1,12,2)# np.arange從1到12,間隔為2
print(a)
#從2到12,生成隨機6個數,並控制為2行3列
b=np.linspace(2,12,6).reshape(2,3)
print(b)

# 結果:
[ 1 3 5 7 9 11]
[[ 2. 4. 6.]
[ 8. 10. 12.]]

🍎zeros(),empty和ones()

功能:創建都是初始值相同元素(0,1)的數組
函數原型:

np.ones((m,n),dtype)  # 創建一個m行n列的全為1的數組
np.zeros((m,n),dtype)  # 創建一個m行n列的全為0的數組
np.empty((m,n),dtype)  # 創建一個m行n列的全為0的數組
import numpy as np #引入numpy模塊
a=np.zeros((5,8)) #元素都是0
b=np.ones((5,6)) #元素都是1
print(a)
print(b)

# 結果:
[[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]]
[[1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1.]]

🍒ndarray 類的索引和切片方法

和列表的索引差不多的

在這裡插入圖片描述

import numpy as np #引入numpy模塊
a = np.random.rand(5,3)#生成隨機5行3列數組
print(a)
print('獲取第2行',a[2]) #獲取第2行
print('切片',a[1:3]) #切片, 1到3行,不包括3
print('切片',a[-5:-2:2]) #切片,從後向前,步長為2

# 結果
[[0.53469047 0.47559129 0.65865181]
[0.89942399 0.66683114 0.55181635]
[0.11989817 0.06055933 0.56880058]
[0.95744499 0.94814163 0.2155053 ]
[0.95179242 0.61544664 0.40876683]]
獲取第2行 [0.11989817 0.06055933 0.56880058]
切片 [[0.89942399 0.66683114 0.55181635]
[0.11989817 0.06055933 0.56880058]]
切片 [[0.53469047 0.47559129 0.65865181]
[0.11989817 0.06055933 0.56880058]]

🍇numpy 庫運算函數

在這裡插入圖片描述

總結

提示:這裡對文章進行總結:

numpy 庫還包括三角運算函數、 傅裡葉變換、 隨機和概率分佈、 基本數值統計、 位運算、 矩陣運算等非常豐富的功能, 在使用時可以到官方網站查詢

在這裡插入圖片描述

python基礎查表

在這裡插入圖片描述

到此這篇關於Python數據分析之Numpy庫的使用詳解的文章就介紹到這瞭,更多相關Python 數據分析內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: