您好,登錄后才能下訂單哦!
今天小編給大家分享一下怎么使用numpy提高Python數(shù)據(jù)分析效率的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
數(shù)組初始化即創(chuàng)建數(shù)組,numpy提供了相當(dāng)多的創(chuàng)建不同結(jié)構(gòu)的數(shù)組的方式,合理的利用這些數(shù)據(jù)初始化的操作能夠讓我們的開發(fā)事半功倍。
numpy目前最多可以支持三維數(shù)組的創(chuàng)建,下面我們直接通過實例來說明其使用技巧。
# 導(dǎo)入數(shù)據(jù)處理的numpy模塊 import numpy as np # 通過python列表list創(chuàng)建numpy一維數(shù)組 array_ = np.array(['a', 'b', 'c']) # 控制臺打印一維數(shù)組 print(array_) # ['a' 'b' 'c'] # 通過python列表list創(chuàng)建numpy二維數(shù)組 array_ = np.array([('a', 'b', 'c'), (1, 2, 3)]) # 控制臺打印二維數(shù)組 print(array_) # [['a' 'b' 'c'] # ['1' '2' '3']] # 創(chuàng)建四行五列的二維數(shù)組,并填充值為1,可通過full函數(shù)創(chuàng)建任意的二維數(shù)組 array_ = np.full((5, 6), 1) # 控制臺打印任意的行、列的二維數(shù)組 print(array_) # [[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]] # 創(chuàng)建任意行、列的二維數(shù)組,并且填充值為隨機(jī)數(shù) array_ = np.random.rand(3, 4) # 控制臺打印隨機(jī)數(shù)的二維數(shù)組 print(array_) # [[0.94372258 0.66743021 0.47003813 0.44912263] # [0.71435389 0.47909147 0.52322176 0.32445311] # [0.9843635 0.14054129 0.10611754 0.45922036]]
上述便是常用的numpy模塊關(guān)于數(shù)組的初始化方式,靈活應(yīng)用幾種array數(shù)組的創(chuàng)建方式能夠解決在業(yè)務(wù)開發(fā)過程中的很多問題。
除了numpy的數(shù)組的初始化方式,關(guān)于numpy數(shù)據(jù)元素的計算是開發(fā)過程中常常會使用的計算方式。
numpy模塊提供的很多計算函數(shù)不僅簡便,而且執(zhí)行效率更高。有時候比我們自己寫的函數(shù)運行速度甚至高出幾倍不止。
下面就來看看在日常的數(shù)據(jù)處理過程中常用的幾種數(shù)據(jù)處理函數(shù)的使用過程。
# array函數(shù)初始化多維度數(shù)組 array_ = np.array([(1, 2), (3, 4), (5, 6)]) # sum函數(shù)計算多維度數(shù)組每一列的和 sum_ = np.sum(array_) # 打印數(shù)組計算結(jié)果 print(sum_) # 21 # mean函數(shù)計算多維度數(shù)組的平均值 mean_ = np.mean(array_) # 打印數(shù)組計算結(jié)果 print(mean_) # 3.5 # tile函數(shù)使元數(shù)組變成多行多列的形式,相當(dāng)于復(fù)制的效果 tile_ = np.tile(array_, (3, 4)) # 打印計算結(jié)果 print(tile_) # [[1 2 1 2 1 2 1 2] # [3 4 3 4 3 4 3 4] # [5 6 5 6 5 6 5 6] # [1 2 1 2 1 2 1 2] # [3 4 3 4 3 4 3 4] # [5 6 5 6 5 6 5 6] # [1 2 1 2 1 2 1 2] # [3 4 3 4 3 4 3 4] # [5 6 5 6 5 6 5 6]] # 初始化二維數(shù)組 array_ = np.array([[3, 6, 4, 11], [5, 10, 1, 3]]) # argsort函數(shù)完成對數(shù)組的排序操作 argsort_ = array_.argsort() # 打印計算結(jié)果 print(argsort_) # [[0 2 1 3] # [2 3 0 1]] # argsort函數(shù)完成對數(shù)組列值的排序操作 argsort_ = array_.argsort(axis=0) # 打印計算結(jié)果 print(argsort_) # [[0 0 1 1] # [1 1 0 0]]
注意:上述的排序結(jié)果返回的是源數(shù)組的排序后的下標(biāo)。
除了上述的numpy數(shù)組計算的基本操作,最常用的就是下面的numpy數(shù)組的加、減、乘、除計算。
通過數(shù)組的加、減、乘、除計算能夠滿足我們在業(yè)務(wù)開發(fā)過程中的絕大多數(shù)的計算操作。
# 初始化兩個數(shù)組a_、b_分別用于下面的邏輯計算 a_ = np.array([1, 2, 3, 4]) b_ = np.array([5, 6, 7, 8]) # 計算兩個一維數(shù)組的和 result_ = a_ + b_ # 打印計算結(jié)果 print(result_) # [ 6 8 10 12] # 計算兩個一維數(shù)組的差 result_ = a_ - b_ # 打印計算結(jié)果 print(result_) # [-4 -4 -4 -4] # 計算兩個一維數(shù)組的乘積 result_ = a_ * b_ # 打印計算結(jié)果 print(result_) # [ 5 12 21 32] # 計算兩個一維數(shù)組的商 result_ = a_ / b_ # 打印計算結(jié)果 print(result_) # [0.2 0.33333333 0.42857143 0.5 ]
除了上述的一維數(shù)組的相關(guān)計算,同時numpy還可支持二維矩陣的邏輯計算。
數(shù)組元素的提取其實主要還是對數(shù)組的下標(biāo)索引的相關(guān)操作。
numpy提供的多維數(shù)組同樣能夠使用對應(yīng)的索引位置提取出相應(yīng)的值。
# 初始化二維數(shù)組 array_ = np.array([[3, 6, 4, 11], [5, 10, 1, 3]]) # 提取第二行、第四列的值 value_ = array_[1, 3] # 打印計算結(jié)果 print(value_) # 3 # 提取出倒數(shù)第二行、第三列到第四列之間的二維數(shù)組 value_ = array_[-2:, 2:3] # 打印計算結(jié)果 print(value_) # [[4] # [1]] # 獲取數(shù)組中大于、小于、等于某個數(shù)值的結(jié)果 result_ = array_ >= 10 # 打印計算結(jié)果 print(result_) # [[False False False True] # [False True False False]] # 返回的數(shù)組中,所在位置為True的數(shù)值就是符合邏輯計算的數(shù)值。
多維數(shù)組的索引的數(shù)值提取操作,能夠輔助我們完成更加復(fù)雜的數(shù)據(jù)處理操作。
以上就是“怎么使用numpy提高Python數(shù)據(jù)分析效率”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。