本文目錄一覽:
python怎麼實現數據的異常值的處理
異常值也稱離群值,具體地說,判斷標準依據實際情況,根據業務知識及實際需要而定.
要是一般地說,可以用公式計算:
upper adjacent value = 75th percentile + (75th percentile – 25th percentile) * 1.5
lower adjacent value = 25th percentile – (75th percentile – 25th percentile) * 1.5
翻譯過來:
上界=75%分位數+(75%分位數-25%分位數)*1.5
下界=25%分位數- (75%分位數-25%分位數)*1.5
比上界大的,和比下界小的都是異常值.
python可視化神器——pyecharts庫
無意中從今日頭條中看到的一篇文章,可以生成簡單的圖表。據說一些大數據開發們也是經常用類似的圖表庫,畢竟有現成的,改造下就行,誰會去自己造輪子呢。
pyecharts是什麼?
pyecharts 是一個用於生成 Echarts 圖表的類庫。Echarts 是百度開源的一個數據可視化 JS 庫。用 Echarts 生成的圖可視化效果非常棒, pyecharts 是為了與 Python 進行對接,方便在 Python 中直接使用數據生成圖 。使用pyecharts可以生成獨立的網頁,也可以在flask、django中集成使用。
安裝很簡單:pip install pyecharts
如需使用 Jupyter Notebook 來展示圖表,只需要調用自身實例即可,同時兼容 Python2 和 Python3 的 Jupyter Notebook 環境。所有圖表均可正常顯示,與瀏覽器一致的交互體驗,簡直不要太強大。
參考自pyecharts官方文檔:
首先開始來繪製你的第一個圖表
使用 Jupyter Notebook 來展示圖表,只需要調用自身實例即可
add() 主要方法,用於添加圖表的數據和設置各種配置項
render() 默認將會在根目錄下生成一個 render.html 的文件,文件用瀏覽器打開。
使用主題
自 0.5.2+ 起,pyecharts 支持更換主體色系
使用 pyecharts-snapshot 插件
如果想直接將圖片保存為 png, pdf, gif 格式的文件,可以使用 pyecharts-snapshot。使用該插件請確保你的系統上已經安裝了 Nodejs 環境。
安裝 phantomjs $ npm install -g phantomjs-prebuilt
安裝 pyecharts-snapshot $ pip install pyecharts-snapshot
調用 render 方法 bar.render(path=’snapshot.png’) 文件結尾可以為 svg/jpeg/png/pdf/gif。請注意,svg 文件需要你在初始化 bar 的時候設置 renderer=’svg’。
圖形繪製過程
基本上所有的圖表類型都是這樣繪製的:
chart_name = Type() 初始化具體類型圖表。
add() 添加數據及配置項。
render() 生成本地文件(html/svg/jpeg/png/pdf/gif)。
add() 數據一般為兩個列表(長度一致)。如果你的數據是字典或者是帶元組的字典。可利用 cast() 方法轉換。
多次顯示圖表
從 v0.4.0+ 開始,pyecharts 重構了渲染的內部邏輯,改善效率。推薦使用以下方式顯示多個圖表。如果使是 Numpy 或者 Pandas,可以參考這個示例
當然你也可以採用更加酷炫的方式,使用 Jupyter Notebook 來展示圖表,matplotlib 有的,pyecharts 也會有的
Note: 從 v0.1.9.2 版本開始,廢棄 render_notebook() 方法,現已採用更加 pythonic 的做法。直接調用本身實例就可以了。
比如這樣
還有這樣
如果使用的是自定義類,直接調用自定義類示例即可
圖表配置
圖形初始化
通用配置項
xyAxis:平面直角坐標系中的 x、y 軸。(Line、Bar、Scatter、EffectScatter、Kline)
dataZoom:dataZoom 組件 用於區域縮放,從而能自由關注細節的數據信息,或者概覽數據整體,或者去除離群點的影響。(Line、Bar、Scatter、EffectScatter、Kline、Boxplot)
legend:圖例組件。圖例組件展現了不同系列的標記(symbol),顏色和名字。可以通過點擊圖例控制哪些系列不顯示。
label:圖形上的文本標籤,可用於說明圖形的一些數據信息,比如值,名稱等。
lineStyle:帶線圖形的線的風格選項(Line、Polar、Radar、Graph、Parallel)
grid3D:3D笛卡爾坐標系組配置項,適用於 3D 圖形。(Bar3D, Line3D, Scatter3D)
axis3D:3D 笛卡爾坐標系 X,Y,Z 軸配置項,適用於 3D 圖形。(Bar3D, Line3D, Scatter3D)
visualMap:是視覺映射組件,用於進行『視覺編碼』,也就是將數據映射到視覺元素(視覺通道)
markLinemarkPoint:圖形標記組件,用於標記指定的特殊數據,有標記線和標記點兩種。(Bar、Line、Kline)
tooltip:提示框組件,用於移動或點擊鼠標時彈出數據內容
toolbox:右側實用工具箱
圖表詳細
Bar(柱狀圖/條形圖)
Bar3D(3D 柱狀圖)
Boxplot(箱形圖)
EffectScatter(帶有漣漪特效動畫的散點圖)
Funnel(漏斗圖)
Gauge(儀錶盤)
Geo(地理坐標系)
GeoLines(地理坐標系線圖)
Graph(關係圖)
HeatMap(熱力圖)
Kline/Candlestick(K線圖)
Line(折線/面積圖)
Line3D(3D 折線圖)
Liquid(水球圖)
Map(地圖)
Parallel(平行坐標系)
Pie(餅圖)
Polar(極坐標系)
Radar(雷達圖)
Sankey(桑基圖)
Scatter(散點圖)
Scatter3D(3D 散點圖)
ThemeRiver(主題河流圖)
TreeMap(矩形樹圖)
WordCloud(詞雲圖)
用戶自定義
Grid 類:並行顯示多張圖
Overlap 類:結合不同類型圖表疊加畫在同張圖上
Page 類:同一網頁按順序展示多圖
Timeline 類:提供時間線輪播多張圖
統一風格
註:pyecharts v0.3.2以後,pyecharts 將不再自帶地圖 js 文件。如用戶需要用到地圖圖表,可自行安裝對應的地圖文件包。
地圖文件被分成了三個 Python 包,分別為:
全球國家地圖:
echarts-countries-pypkg
中國省級地圖:
echarts-china-provinces-pypkg
中國市級地圖:
echarts-china-cities-pypkg
直接使用python的pip安裝
但是這裡大家一定要注意,安裝完地圖包以後一定要重啟jupyter notebook,不然是無法顯示地圖的。
顯示如下:
總得來說,這是一個非常強大的可視化庫,既可以集成在flask、Django開發中,也可以在做數據分析的時候單獨使用,實在是居家旅行的必備神器啊
Python數據分析 | 數據描述性分析
首先導入一些必要的數據處理包和可視化的包,讀文檔數據並通過前幾行查看數據字段。
對於我的數據來說,由於數據量比較大,因此對於缺失值可以直接做刪除處理。
得到最終的數據,並提取需要的列作為特徵。
對類別數據進行統計:
類別型字段包括location、cpc_class、pa_country、pa_state、pa_city、assignee六個字段,其中:
單變量統計描述是數據分析中最簡單的形式,其中被分析的數據只包含一個變量,不處理原因或關係。單變量分析的主要目的是通過對數據的統計描述了解當前數據的基本情況,並找出數據的分布模型。
單變量數據統計描述從集中趨勢上看,指標有:均值,中位數,分位數,眾數;從離散程度上看,指標有:極差、四分位數、方差、標準差、協方差、變異係數,從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數值型變量)和頻數,構成比(分類或等級變量)。
對於數值型數據,首先希望了解一下數據取值範圍的分布,因此可以用統計圖直觀展示數據分布特徵,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。
按照發布的時間先後作為橫坐標,數值範圍的分布情況如圖所示.
還可以根據最終分類的結果查看這些數值數據在不同類別上的分布統計。
箱線圖可以更直觀的查看異常值的分布情況。
異常值指數據中的離群點,此處定義超出上下四分位數差值的1.5倍的範圍為異常值,查看異常值的位置。
參考:
python數據分析之數據分布 – yancheng111 – 博客園
python數據統計分析 –
科爾莫戈羅夫檢驗(Kolmogorov-Smirnov test),檢驗樣本數據是否服從某一分布,僅適用於連續分布的檢驗。下例中用它檢驗正態分布。
在使用k-s檢驗該數據是否服從正態分布,提出假設:x從正態分布。最終返回的結果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設:x服從正態分布。這並不是說x服從正態分布一定是正確的,而是說沒有充分的證據證明x不服從正態分布。因此我們的假設被接受,認為x服從正態分布。如果p-value小於我們指定的顯著性水平,則我們可以肯定的拒絕提出的假設,認為x肯定不服從正態分布,這個拒絕是絕對正確的。
衡量兩個變量的相關性至少有以下三個方法:
皮爾森相關係數(Pearson correlation coefficient) 是反應倆變量之間線性相關程度的統計量,用它來分析正態分布的兩個連續型變量之間的相關性。常用於分析自變量之間,以及自變量和因變量之間的相關性。
返回結果的第一個值為相關係數表示線性相關程度,其取值範圍在[-1,1],絕對值越接近1,說明兩個變量的相關性越強,絕對值越接近0說明兩個變量的相關性越差。當兩個變量完全不相關時相關係數為0。第二個值為p-value,統計學上,一般當p-value0.05時,可以認為兩變量存在相關性。
斯皮爾曼等級相關係數(Spearman’s correlation coefficient for ranked data ) ,它主要用於評價順序變量間的線性相關關係,在計算過程中,只考慮變量值的順序(rank, 秩或稱等級),而不考慮變量值的大小。常用於計算類型變量的相關性。
返回結果的第一個值為相關係數表示線性相關程度,本例中correlation趨近於1表示正相關。第二個值為p-value,p-value越小,表示相關程度越顯著。
kendall :
也可以直接對整體數據進行相關性分析,一般來說,相關係數取值和相關強度的關係是:0.8-1.0 極強 0.6-0.8 強 0.4-0.6 中等 0.2-0.4 弱 0.0-0.2 極弱。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/237082.html
微信掃一掃
支付寶掃一掃