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。轉載請註明出處