摘要:概述在中存在著通用函數和聚合去對數據進行處理通過向量進行對數據數組的計算而這些向量主要依靠一些通用函數而聚合是對面對大量數據時獲取描述性統計信息的方法。三角函數提供了大量好用的通用函數,其中對于數據科學家最有用的就是三角函數。
概述
在Numpy中存在著通用函數和聚合去對數據進行處理,numpy通過向量進行對數據數組的計算,而這些向量主要依靠一些通用函數,而聚合是numpy對面對大量數據時獲取描述性統計信息的方法。
numpy的通用函數
1、為什么用numpy的通用函數而不用Python的循環做逐個元素的計算
NumPy 提供了一個簡單靈活的接口來優化數據數組的計算,使得numpy成為python數據科學中極其重要的一部分。Numpy主要是通過向量進行操作的,而這些操作主要依靠他的一些通用函數實現,接下來,我們就去學習這些通用函數,以方便我們提高元素重復計算的效率。
學習numpy通用函數,我們首先舉個例子:
假設我們想要計算一個數組元素的倒數:
方法1:用循環迭代執行
方法2:用Numpy的通用函數進行計算
1.1用Python的循環語句實現
1.2 用numpy的通用函數實現
1.3對比一下兩者運行的時間
這時候就會發現循環的時間復雜度很高,直接用數組通用函數進行計算,速度是python代碼循環進行計算的10倍左右。
2、常用通用函數
2.1數組的運算
NumPy 通用函數的使用方式非常自然,因為它用到了 Python 原生的算術運算符,標準的 加、減、乘、除都可以使用:
加法,直接用+號或者使用np.add()
除法,使用/號或者np.divide()
平方,使用**或者np.power()
乘法,使用*號或者np.multiply()
剩余的通用函數操作:
運算符
對應的通用函數
描述
+
Np.add
加法運算(即 1 + 1 = 2)
-
Np.subtract
減法運算(即 3 - 2 = 1)
-
Np.negative
負數運算(即 -2)
*
Np.multiply
乘法運算(即 2 * 3 = 6)
/
Np.divide
除法運算(即 3 / 2 = 1.5)
//
Np.floor_divide
地板除法運算(floor division,即3//2 = 1)
**
Np.power
指數運算(即 2 ** 3 = 8)
%
Np.mod
模 / 余數(即 9 % 4 = 1)
2.2絕對值
正如NumPy 能理解 Python 內置的運算操作, NumPy 也可以理解 Python 內置的絕對值 函數:
Numpy的計算速度還是快一些的。
2.3三角函數
NumPy 提供了大量好用的通用函數,其中對于數據科學家最有用的就是三角函數。首先定義一個角度數組:
然后進行三角函數運算
當然反三角函數也是支持的
2.4指數和對數
Numpy中也提供了對指數和對數進行運算的方法
指數運算
以e為底的對數運算
以2為底的對數運算
以10為底的對數運算
通用函數特性
1.指定輸出
在進行大量運算時,有時候指定一個用于存放運算結果的數組是非常有用的。不同于創建 臨時數組,你可以用這個特性將計算結果直接寫入到你期望的存儲位置。所有的通用函數 都可以通過out參數來指定計算結果的存放位置:
這個特性也可以被用作數組視圖,例如可以將計算結果寫入指定數組的每隔一個元素的位置:
2.聚合
對通用函數調用reduce方法會返回數組中所有元素的和:
對內積調用reduce也同樣會返回數組的內積
對通用函數調用accumulate,會返回每次計算的結果
3.外積
任何通用函數都可以用 outer 方法獲得兩個不同輸入數組所有元素對的函數運算結果。這意味著你可以用一行代碼實現一個乘法表:
三、聚合:最大值、最小值和其他值
當我們面對大量的數據時,首先想到的就是去獲取他們的一些描述性統計信息,比如中值、中位數、均值、最大值、最小值、和、乘積等。Numpy內置的一些方法,在求取這些信息時,會非常的便利和高效。下面我們就去介紹一些比較常用的:
1.數組值求和
由于Numpy的sum函數是在編譯的過程中進行計算的,因此速度會比python的sum更快一些。
2、最大值和最小值
同樣,Python也有內置的min函數和max函數,分別被用于獲取給定數組的最小值和最大值:
對于 min、 max、 sum 和其他 NumPy 聚合,一種更簡潔的語法形式是數組對象直接調用這些方法:
3、多維度聚合
一種常用的聚合操作是沿著一行或者一列聚合。例如,有著一個二維數組,我們想要統計他的一些聚合信息:
默認情況下,每一個Numpy聚合函數都會返回對整個數組的聚合結果:
聚合函數還有一個參數,用于指定沿著哪個軸的方向進行聚合。例如,可以通過指定 axis=0 找到每一列的最小值:
找到行的最大值類似的操作,讓axis = 1 就可以實現
axis 關鍵字指定的是數組將會被折疊的維度,而不是將要返回的維度。因此指定 axis=0 意味著第一個軸將要被折疊——對于二維數組,這意味著每一列的值都將被聚合。
4、其他聚合函數
Python中其他可用的聚合函數:
函數名稱
NaN安全版本
描述
np.sum
np.nansum
計算元素的和
np.prod
np.nanprod
計算元素的積
np.mean
np.nanmean
計算元素的平均值
np.std
np.nanstd
計算元素的標準差
np.var
np.nanvar
計算元素的方差
np.min
np.nanmin
找出最小值
np.max
np.nanmax
找出最大值
np.argmin
np.nanargmin
找出最小值的索引
np.argmax
np.nanargmax
找出最大值的索引
np.median
np.nanmedian
計算元素的中位數
np.percentile
np.nanpercentile
計算基于元素排序的統計值
np.any
N/A
驗證任何一個元素是否為真
np.all
N/A
驗證所有元素是否為真
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43606.html
摘要:數據規整化清理轉換合并重塑數據聚合與分組運算數據規整化清理轉換合并重塑合并數據集可根據一個或多個鍵將不同中的行鏈接起來。函數根據樣本分位數對數據進行面元劃分。字典或,給出待分組軸上的值與分組名之間的對應關系。 本篇內容為整理《利用Python進行數據分析》,博主使用代碼為 Python3,部分內容和書本有出入。 在前幾篇中我們介紹了 NumPy、pandas、matplotlib 三個...
摘要:是一個數據分析的開源庫。與表格或關系數據庫中的表非常神似。注意帶有一個索引,類似于關系數據庫中的主鍵。的統計函數分組與聚合通過方法,可以對數據組施加一系列的函數。函數的作用是串聯,追加數據行使用函數。 pandas(Python data analysis)是一個Python數據分析的開源庫。pandas兩種數據結構:DataFrame和Series 安裝:pandas依賴于NumPy...
目錄Numpy簡介Numpy操作集合1、不同維度數據的表示1.1 一維數據的表示1.2 二維數據的表示1.3 三維數據的表示2、 為什么要使用Numpy2.1、Numpy的ndarray具有廣播功能2.2 Numpy數組的性能比Python原生數據類型高3 ndarray的屬性和基本操作3.1 ndarray的基本屬性3.2 ndarray元素類型3.3 創建ndarray的方式3.4 ndarr...
Python Pandas作為常見的應用Python的一門工具,常常是作為聚合函數去進行使用的,那么,我們應該怎么去使用這類聚合函數呢?下面就具體的一類應用實例,下面給大家詳細解答一下,大家要仔細的閱讀哦。 Python Pandas聚合函數 在前一節,我們重點介紹了窗口函數。我們知道,窗口函數可以與聚合函數一起使用,聚合函數指的是對一組數據求總和、最大值、最小值以及平均值的操作,本節重點...
閱讀 701·2021-11-18 10:02
閱讀 2235·2021-11-15 18:13
閱讀 3138·2021-11-15 11:38
閱讀 2933·2021-09-22 15:55
閱讀 3666·2021-08-09 13:43
閱讀 2438·2021-07-25 14:19
閱讀 2449·2019-08-30 14:15
閱讀 3441·2019-08-30 14:15