Python數(shù)據(jù)分析之Numpy庫的使用詳解
前言
由于自己并不以Python語言為主,這里只是簡單介紹一下Numpy庫的使用
提示:以下是本篇文章正文內(nèi)容
🧡Numpy庫介紹
numpy 庫處理的最基礎(chǔ)數(shù)據(jù)類型是由同種元素構(gòu)成的多維數(shù)組(ndarray), 簡稱" 數(shù)組”,數(shù)組中所有元素的類型必須相同, 數(shù)組中元素可以用整數(shù)索引, 序號從0開始。 ndarray類型的維度(dimensions)叫做軸(axes), 軸的個數(shù)叫做秩(rank)。 一維數(shù)組的秩為1, 二維數(shù)組的秩為2, 二維數(shù)組 相當(dāng)于由兩個一維數(shù)組構(gòu)成
numpy 庫概述:
由于numpy 庫中函數(shù)較多且命名容易與常用命名混淆,建議采用如下方式引用numpy 庫:
import numpy as np
其中, as保留字與import一起使用能夠改變后續(xù)代碼中庫的命名空間, 有助于提高代碼可讀性。 簡單說, 在程序的后續(xù)部分中, np代替numpy。
💙ndarray 類常用屬性
創(chuàng)建一個簡單的數(shù)組后, 可以查看ndarray類型有一些基本屬性
1.ndarray.ndim
數(shù)組軸的個數(shù),在python的世界中,軸的個數(shù)被稱作秩
2.ndarray.shape
數(shù)組的維度。這是一個指示數(shù)組在每個維度上大小的整數(shù)元組。例如一個n排m列的矩陣,它的shape屬性將是(2,3),這個元組的長度顯然是秩,即維度或者ndim屬性
3.ndarray.size
數(shù)組元素的總個數(shù),等于shape屬性中元組元素的乘積。
4.ndarray.dtype
一個用來描述數(shù)組中元素類型的對象,可以通過創(chuàng)造或指定dtype使用標(biāo)準(zhǔn)Python類型。另外NumPy提供它自己的數(shù)據(jù)類型。
5.ndarray.itemsize
數(shù)組中每個元素的字節(jié)大小。例如,一個元素類型為float64的數(shù)組itemsiz屬性值為8(=64/8),又如,一個元素類型為complex32的數(shù)組item屬性為4(=32/8).
6.ndarray.data
包含實際數(shù)組元素的緩沖區(qū),通常我們不需要使用這個屬性,因為我們總是通過索引來使用數(shù)組中的元素。
import numpy as np #引入numpy模塊 a = np.ones((4,5)) print(a) print('數(shù)據(jù)軸個數(shù): ',a.ndim) print('每個維度的數(shù)據(jù)個數(shù): ',a.shape) print('數(shù)據(jù)類型',a.dtype)
# 結(jié)果
[[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]]
數(shù)據(jù)軸個數(shù): 2
每個維度的數(shù)據(jù)個數(shù): (4, 5)
數(shù)據(jù)類型 float64
小結(jié):
💚Numpy常用函數(shù)
🍓array函數(shù)
函數(shù)原型:
np.array([x,y,x],dtype=int) # 從列表和元組中創(chuàng)建數(shù)組
功能:array函數(shù)將列表轉(zhuǎn)矩陣
import numpy as np #引入numpy模塊 array=np.array([[1,2,3], #列表轉(zhuǎn)矩陣 [4,5,6]]) print(array) print('number of dim',array.ndim) #輸出矩陣數(shù)據(jù)軸數(shù) print('size',array.size) #輸出矩陣總元素個數(shù)
# 結(jié)果
[[1 2 3]
[4 5 6]]
number of dim 2
size 6
🥝arange()函數(shù)和linspace()函數(shù)
函數(shù)原型:
np.arange(x,y,i) # 創(chuàng)建一個由x到y(tǒng),以i為步長的數(shù)組 np.linspace(x,y,n) # 創(chuàng)建一個由x到y(tǒng),等分為n個元素的數(shù)組
import numpy as np #引入numpy模塊 a=np.arange(1,12,2)# np.arange從1到12,間隔為2 print(a) #從2到12,生成隨機6個數(shù),并控制為2行3列 b=np.linspace(2,12,6).reshape(2,3) print(b)
# 結(jié)果:
[ 1 3 5 7 9 11]
[[ 2. 4. 6.]
[ 8. 10. 12.]]
🍎zeros(),empty和ones()
功能:創(chuàng)建都是初始值相同元素(0,1)的數(shù)組
函數(shù)原型:
np.ones((m,n),dtype) # 創(chuàng)建一個m行n列的全為1的數(shù)組 np.zeros((m,n),dtype) # 創(chuàng)建一個m行n列的全為0的數(shù)組 np.empty((m,n),dtype) # 創(chuàng)建一個m行n列的全為0的數(shù)組
import numpy as np #引入numpy模塊 a=np.zeros((5,8)) #元素都是0 b=np.ones((5,6)) #元素都是1 print(a) print(b)
# 結(jié)果:
[[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列數(shù)組 print(a) print('獲取第2行',a[2]) #獲取第2行 print('切片',a[1:3]) #切片, 1到3行,不包括3 print('切片',a[-5:-2:2]) #切片,從后向前,步長為2
# 結(jié)果
[[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 庫運算函數(shù)
總結(jié)
提示:這里對文章進行總結(jié):
numpy 庫還包括三角運算函數(shù)、 傅里葉變換、 隨機和概率分布、 基本數(shù)值統(tǒng)計、 位運算、 矩陣運算等非常豐富的功能, 在使用時可以到官方網(wǎng)站查詢
python基礎(chǔ)查表
到此這篇關(guān)于Python數(shù)據(jù)分析之Numpy庫的使用詳解的文章就介紹到這了,更多相關(guān)Python 數(shù)據(jù)分析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中inplace、subset參數(shù)的意義及說明
這篇文章主要介紹了Python中inplace、subset參數(shù)的意義及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08利用Python裁切tiff圖像且讀取tiff,shp文件的實例
這篇文章主要介紹了利用Python裁切tiff圖像且讀取tiff,shp文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03python爬取企查查企業(yè)信息之selenium自動模擬登錄企查查
這篇文章主要介紹了python爬取企查查企業(yè)信息之自動模擬登錄企查查以及selenium獲取headers,selenium獲取cookie,需要的朋友可以參考下2021-04-045 分鐘讀懂Python 中的 Hook 鉤子函數(shù)
這篇文章主要介紹了5 分鐘掌握 Python 中的 Hook 鉤子函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12