D03 Numpy排序、篩選、統計

2021-01-11 Adolph說派森

title: D03|Numpy排序、篩選、統計author: Adolph Leecategories: 數據挖掘基礎tags:

Python數據挖掘基礎統計篩選排序

在進行數據挖掘工作之前,我們常常需要對數據的全貌今昔概覽,利用描述性統計獲取數據的特徵,例如數據的均值,中位數,眾數,離中趨勢,頻數分析,分布分析以及繪製對應的圖表。在生活中最為常見的數據存放形式是二維表,我們將二維表數據轉換為ndarray之後對應的即為二維數組,下面以二維數組為例,講述numpy的排序、篩選、統計。

排序

關於排序,numpy的開發者們一早就為我們準備好了方法函數供我們使用,並且提供了多種不同的排序算法例如最常用的quicksort以及穩定性最強的mergesort。

numpy.sort

numpy.sort(a, axis, kind, order)a array指的是需要排序的數組axis axis指定按行序排序或按列序排序 axis=0 列序, axis=1 行序 默認為行序kind 排序算法的種類,例如:kind = 『mergesort』 默認值為quicksortorder 如果數組包含欄位名稱,那麼就可以利用order指定欄位

在演示按欄位排序之前,我們先學習為ndarray添加欄位名稱

利用數據類型對象(dtype)定義欄位名稱及欄位類型這一過程就像在資料庫中建表

篩選

numpy提供了兩個篩選方法一個是where 一個是extract,where返回的符合條件元素所在的索引,extract返回的是符合條件元素本身,二則之間的異同,讓我們用實際輸出結果來比較。

where(condition)

where 返回符合條件元素所在索引condition 篩選條件

extarct(condition,array)

extarct 返回符合條件元素所在索引condition 篩選條件array 指定數組返回一維數組

以上內容即為有關numpy的排序與篩選,學習好這一部分的知識,有助於我們更加便捷的理解,另一個數據科學庫pandas,pandas是基於numpy所開發的,下面進入numpy章節的最後一個部分,numpy的描述性統計。

統計

numpy中的統計函數都是相當便捷與簡單的,例如獲取最大最小值獲取中位數,均值,加勸均值,分位數,方差標準差等,下面我們將一一介紹。

amax 獲取最大值amin 獲取最小值ptp 獲取最大值最小值之差percentile 獲取分位數,percentile有三個參數(a,q,axis) a指定數組,q指定百分數(0-100),axis指定行序列序median 獲取中位數mean 獲取均值average 獲取加權平均值std 獲取標準差 標準差計算公式:std = sqrt(mean((x-x.mean)**2))var 獲取方差 方差計算公式:var = std**2

至此,Numpy的介紹的就結束了,不難看出利用numpy操作二維數組還是多有不便,想要操作其如同資料庫或者Excel表格一樣方便,還比較困難,而基於numpy開發的pandas庫的出現解決了這一問題。下一章節我們將開始認識pandas。轉載請註明出處

相關焦點

  • 為什麼要學Numpy,一文總結知識點
    normal([loc, scale, size])生成low和high之間均勻分布的數字:uniform([low, high, size])結構化數組用於表達各列類型不同的異構數據:np.dtype([('name', 'U10'), ('age', 'i4'), ('weight', 'f8')])可以用列表切片的方式查詢行:my_arr[0:2]用字典的方式查詢列:my_arr['age']按條件做篩選
  • Numpy入門詳細教程
    numpy可以很方便的實現基本統計量,而且每種方法均包括對象方法和類方法:max,argmax分別返回最大值和最大值對應索引,可接收一個axis參數,指定軸線的聚合統計。對於二維及以上數組,若不指定axis,即axis=None,此時對數組所有數值求聚合統計min,argmin,與最大一致mean、std,分別求均值和標準差,也可接收一個預設參數axis實現特定軸向聚合統計或全局聚合var、cov,分別求方差和協方差,與均值標準差類似sort、argsort,分別返回排序後的數組和相應索引,接收一個axis參數
  • 手把手教你學Numpy——常用API合集
    本文轉載自【微信公眾號:五角錢的程式設計師,ID:xianglin965】,經微信公眾號授權轉載,如需轉載與原文作者聯繫今天是Numpy專題的第5篇文章,我們來繼續學習Numpy當中一些常用的數學和統計函數。基本統計方法在日常的工作當中,我們經常需要通過一系列值來了解特徵的分布情況。比較常用的有均值、方差、標準差、百分位數等等。
  • D02 Numpy常用函數,如何優雅的遍歷一個多維數組?
    當我們想要遍歷一個多維數組的時候,如果通過不停的使用循環去遍歷,這會讓我們的代碼可讀性與性能都變得很差,numpy提供了一個函數nditer,以幫助我們遍歷數組。nditer的入參是一個數組,返回值是一個可迭代對象。nditer 默認會優先遍歷行序,通過order參數可以使其優先遍歷列序。
  • Numpy高級操作大全!!!
    [ 4. 0.5 1. 5. 0.01][ 6.25000000e-02 4.00000000e+00 1.00000000e+00 4.00000000e-02 1.00000000e+04][1 0 2]4.NumPy - 統計函數NumPy 有很多有用的統計函數,用於從數組中給定的元素中查找最小
  • D01 Numpy簡介,為什麼Numpy那麼快
    title: D01|Numpy簡介author: Adolph Leecategories: 數據挖掘基礎tags:Python數據挖掘基礎Numpy初識NumpyNumpy是一個Python基礎科學計算包,它的核心是多維數組ndarray對象,Numpy提供了諸如數學、邏輯、形狀操作、排序
  • 不懂NumPy 算什麼 Python 程式設計師?|CSDN 博文精選
    NumPy 是 Python 科學計算的基礎軟體包,提供多維數組對象,多種派生對象(掩碼數組、矩陣等)以及用於快速操作數組的函數及 API,它包括數學、邏輯、數組形狀變換、排序、選擇、I/O 、離散傅立葉變換、基本線性代數、基本統計運算、隨機模擬等等。
  • python數據科學系列:numpy入門詳細教程
    numpy可以很方便的實現基本統計量,而且每種方法均包括對象方法和類方法:max,argmax分別返回最大值和最大值對應索引,可接收一個axis參數,指定軸線的聚合統計。對於二維及以上數組,若不指定axis,即axis=None,此時對數組所有數值求聚合統計min,argmin,與最大一致mean、std,分別求均值和標準差,也可接收一個預設參數axis實現特定軸向聚合統計或全局聚合var、cov,分別求方差和協方差,與均值標準差類似sort、argsort,分別返回排序後的數組和相應索引,接收一個axis參數
  • Python學習第113課——numpy中用條件判斷去篩選數組中的元素
    之前我們學習了如何在numpy中查找數組元素的方法和技巧,現在我們學習如何用條件判斷的方式篩選數組的元素。●numpy中的數組可以直接進行比較直接上代碼:運行結果:我們看到,condition列印出來,它的結構和h的結構一樣。
  • 清晰易懂的Numpy進階教程
    如何保存和加載numpy對象4. 如何按列或行拼接numpy數組5. 如何按列對numpy數組進行排序6. 如何用numpy處理日期7.高階numpy函數介紹8. 小結1. 如何獲取滿足條設定件的索引上一文介紹根據數組是否滿足條件,輸出為True或False.
  • Numpy入門教程:10. 統計相關
    統計相關次序統計numpy.amin(a[, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue])Return the minimum of an array or minimum along an axis.
  • 合併單元格的求和、複製、篩選、排序及序號填充實用技巧解讀!
    Excel中的合併單元格非常的普遍,但是對於填充序號、求和、篩選、排序等操作又非常的麻煩。那麼如何解決此類問題呢?請詳細閱讀下文。一、合併單元格求和。方法:在目標單元格中輸入公式:=SUM(D3:D9)-SUM(F4:F9)。
  • Python,Numpy,Pandas……數據科學家必備排序技巧
    python 3.6.8numpy 1.16.4pandas 0.24.2tensorflow==2.0.0-beta1#tensorflow-gpu==2.0.0-beta1 slows sortingpytorch 1.1讓我們從基礎開始吧!
  • 簡約而不簡單|值得收藏的Numpy小抄表(含主要語法、代碼)
    列表提供基本操作,但NumPy添加了FTTs、卷積、快速搜索、基本統計、線性代數、直方圖等。兩者數據科學最重要的區別是能夠用NumPy數組進行元素級計算。/doc/numpy/reference/generated/numpy.ndarray.astype.htmltype(array)顯示數組類型https://numpy.org/doc/stable/user/basics.types.html拷貝 /排序操作描述文檔np.copy(array)創建數組拷貝https://docs.scipy.org/doc/numpy/reference/generated
  • 值得收藏的 NumPy 小抄表(含主要語法、代碼)
    列表提供基本操作,但NumPy添加了FTTs、卷積、快速搜索、基本統計、線性代數、直方圖等。兩者數據科學最重要的區別是能夠用NumPy數組進行元素級計算。/doc/numpy/reference/generated/numpy.ndarray.astype.htmltype(array)顯示數組類型https://numpy.org/doc/stable/user/basics.types.html拷貝 /排序操作描述文檔np.copy(array)創建數組拷貝
  • 如果不懂Numpy,請別說自己是Python程式設計師
    幸運的是,後來我遇到了 numpy 這個神器。numpy 是 python 科學計算的基礎軟體包,提供多了維數組對象,多種派生對象(掩碼數組、矩陣等)以及用於快速操作數組的函數及 API,它包括數學、邏輯、數組形狀變換、排序、選擇、I/O 、離散傅立葉變換、基本線性代數、基本統計運算、隨機模擬等等。
  • Python知識普及:Numpy基礎操作
    Numpy基礎數據結構創建數組Numpy通用函數import numpy as np# reshape 改變數組維度形狀print("")ar4 = np.resize(ar3, (5, 3))print(ar4)print("")ar5 = np.resize(ar3, (3, 4)) # 當改變後的數組需要的數據量比原數組的數據量少時 會依次排序
  • Python數據分析之Numpy學習 2——NumPy 基礎 ndarray對象
    約定:import numpy as npndarray對象的常用屬性創建ndarray函數說明np.array(data,dtype=None, order=None)將數據data(列表、元組、數組或其他序列類型)轉換為ndarray。要麼推斷出dtype,要麼顯示指定dtype。
  • numpy中的數據類型對象有哪些
    Numpy數據類型numpy是一個python擴展包,它可以為我們提供更精確的科學技術,更強大的數學能力。為此,numpy定義了比python更豐富的數據類型來達成目的。在numpy,core包的multiarray_umath.py模塊中,可以找到dtype類的定義。有興趣的同學可以嘗試閱讀一下其源碼。讀源碼其實是一種有效的學習編程的方式。
  • Python Numpy-數組的常用函數
    日常使用numpy進行數據分析的時候,通常會使用模塊提供的函數,很大程度上方便了對於數據的操作。