es6一维数组转二维数组_技术图文:Numpy 一维数组 VS. Pandas Series
背景
Numpy 提供的最重要的數據結構是 ndarray,它是 Python 中 list 的擴展。
Pandas 提供了兩種非常重要的數據結構 Series和DataFrame。
Numpy 中的一維數組與 Series 相似,一維數組只是提供了從0開始與位置有關的索引,而Series除了位置索引之外還可以附加額外的索引。本文將從對象的創建、屬性的訪問、數據的獲取以及常用方法等方面來總結這兩種結構的異同。
1. 如何創建對象
1.1 創建一維數組對象
- 通過 list或tuple 創建一維數組。
- 通過數值范圍來創建一維數組,比如linspace()函數,返回指定間隔內的等間隔數字。arange()函數,返回給定間隔內的均勻間隔的值。
1.2 創建Series對象
Series 可以看作是能夠附加索引的一維數組,所以可以像 Numpy 創建一維數組一樣使用 list或tuple 來創建,甚至可以使用 Numpy的一維數組 直接創建。
- 通過列表list、元組tuple創建Series。
- 通過 Numpy 創建Series。
另外,Series 可以附加索引,所以可以在創建的時候直接指定需要附加的索引,以及利用字典的key-value鍵值對 來直接創建。
- 通過指定index關鍵字的方式創建帶有自定義索引的Series。
- 通過字典dict創建Series。
2. 如何獲取屬性
2.1 獲取一維數組對象屬性
在使用 Numpy 時,有時會想知道數組的某些信息,可以通過以下屬性來得到:
- numpy.ndarray.ndim 用于返回數組的維數(軸的個數)也稱為秩,一維數組的秩為 1,二維數組的秩為 2,以此類推。
- numpy.ndarray.shape 表示數組的維度,返回一個元組,這個元組的長度就是維度的數目,即 ndim 屬性(秩)。
- numpy.ndarray.size 數組中所有元素的總量,相當于數組的shape中所有元素的乘積,例如矩陣的元素總量為行與列的乘積。
- numpy.ndarray.dtype ndarray 對象的元素類型。
2.2 獲取Series對象屬性
Series 除了擁有 Numpy 中ndim、size、shap、dtype屬性外,還擁有下列屬性:
- index 附加的索引
- values 存儲的數據
- name 對象的名稱
3. 如何獲取數據
3.1 獲取一維數組對象數據
一維數組只有默認的位置索引,即從0開始的索引,所以獲取數據只有通過位置索引這一種方式。
- 通過整數索引(要獲取數組的單個元素,指定元素的索引即可。)
- 通過切片索引(切片操作是指抽取數組的一部分元素生成新數組。)
- 通過整數數組索引(方括號內傳入多個索引值,可以同時選擇多個元素。)
- 通過布爾索引(通過一個布爾數組來索引目標數組。)
3.2 獲取Series對象數據
因為不附加索引的 Series 也擁有位置索引,所以可以延用一維數組獲取數據的方式。另外 Series 也可以通過附加索引來獲取數據。
- 通過位置獲取數據
- 通過索引獲取數據
- 通過head()和tail()獲取數據
4. 基本運算
4.1 查看描述性統計數據
一維數組對象
描述性統計分析最常見的函數如下:
- numpy.min()函數:返回數組的最小值或沿軸的最小值。
- numpy.max()函數:返回數組的最大值或沿軸的最大值。
- numpy.quantile()函數:計算沿指定軸的數據的分位數。
- numpy.median()函數:沿指定軸計算中位數。返回數組元素的中位數。
- numpy.mean()函數:計算沿指定軸的算術平均值。
- numpy.std()函數:計算沿指定軸的標準偏差。
Series對象
除了一維數組所提供的函數之外,Series也提供了更多的函數用于描述性統計分析。
import pandas4.2 數學運算
一維數組對象
- numpy.add()函數:按元素相加。
- numpy.subtract()函數:按元素相減。
- numpy.multiply()函數:按元素相乘。
- numpy.divide()函數:返回輸入的實際除法(按元素)。
- numpy.floor_divide()函數:返回小于或等于輸入除法的最大整數(地板除)。
- numpy.power()函數:按元素做冪運算。
在 Numpy 中對以上函數進行了運算符的重載,且運算符為 元素級。也就是說,它們只用于位置相同的元素之間,所得到的運算結果組成一個新的數組。
import numpySeries對象
Series 與 Numpy 中的一維數組一樣支持常用運算符的重載,并且可以把 Series對象 作為參數帶入到 Numpy 的數學運算中。
- numpy.sqrt()函數:按元素返回數組的非負平方根。
- numpy.log()函數:按元素取自然對數。
4.3 其它運算
由于 Series 可以附加索引,所以兩個 Series對象 進行相加的時候,必須滿足索引對齊。另外,Series 可以通過to_numpy()方法轉化成 Numpy 的一維數組。
import pandas總結
我們通過實例從對象的創建、屬性的獲取、數據的訪問以及常用函數等維度對比了 Numpy 的一維數組和 Pandas 的 Series 結構。很多知識都是相通的,多對比多總結就會對整個模塊有更深入的了解。今天就到這里吧,See You。
后臺回復「搜搜搜」,隨機獲取電子資源!
歡迎關注,請掃描二維碼:
總結
以上是生活随笔為你收集整理的es6一维数组转二维数组_技术图文:Numpy 一维数组 VS. Pandas Series的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rds基于什么开发_java rds
- 下一篇: linq from 多个sum_快手重拳