-
1 # 論智
-
2 # Bean蠶豆
我就分享一下我的一些認識,先從探索性分析開始。
什麼是探索性資料分析探索性資料分析是我們資料分析中的第一步,假設我們已經擁有了資料,我們需要弄清楚如何構建資料,確定如何操縱可用的資料以獲得所需的答案。
我們可以透過對資料中的模式、趨勢、異常值和意外結果等進行廣泛的分析,使用視覺化和定量的方法來了解。
20世紀70年代由約翰圖基開發的探索性資料分析通常被描述為一種哲學,可以幫助我們解決如下相關問題:
發現錯誤和丟失的資料;
繪製資料的底層結構;
確定最重要的變數;
列出異常和異常值;
測試與具體模型相差的假設/檢查假設;
建立一個簡約的模型;
估計引數並計算相差的置信區間或誤差範圍。
資料視覺化Python和R一樣都具有視覺化模組,R比較有名的有ggplot2,python也有相應的模組ggplot
還有seaborn,matplotlib,都是我們在做資料視覺化中使用的。詳細的可以到相應的官網上去學習。
快速構建探索性視覺化,應該必要的步驟或者說程式碼是必須的。 -
3 # 軟體測試開發技術棧
補充推薦一個Python 新資料視覺化模組——Plotly Express 。
Plotly ExpressPlotly Express是一個新的高階Python資料視覺化庫,它是Plotly.py的高階封裝,它為複雜的圖表提供了一個簡單的語法。只需一次匯入,大多數繪圖只要一個函式呼叫,接受一個整潔的Pandas dataframe,就可以建立豐富的互動式繪圖。
Plotly Express 安裝慣例,使用 pip進行安裝。
pip install plotly_expressPlotly Express支援構建圖表型別scatter:在散點圖中,每行data_frame由2D空間中的符號標記表示。scatter_3d:在3D散點圖中,每行data_frame由3D空間中的符號標記表示。scatter_polar:在極座標散點圖中,每行data_frame由極座標中的符號標記表示。scatter_ternary:在三元散點圖中,每行data_frame由三元座標中的符號標記表示。scatter_mapbox:在Mapbox散點圖中,每一行data_frame都由Mapbox地圖上的符號標記表示。scatter_geo:在地理散點圖中,每一行data_frame都由地圖上的符號標記表示。scatter_matrix:在散點圖矩陣(或SPLOM)中,每行data_frame由多個符號標記表示,在2D散點圖的網格的每個單元格中有一個,其將每對dimensions彼此相對繪製。density_contour:在密度等值線圖中,行data_frame被組合在一起成為輪廓標記,以視覺化該值的聚合函式histfunc(例如,計數或總和)的2D分佈z。density_heatmap:在密度熱圖中,行data_frame被組合在一起成為彩色矩形瓦片,以視覺化該值的聚合函式histfunc(例如,計數或總和)的2D分佈 z。line:在2D線圖中,每行data_frame表示為2D空間中折線標記的頂點。line_polar:在極線圖中,每行data_frame表示為極座標中折線標記的頂點。line_ternary:在三元線圖中,每行data_frame表示為三元座標中折線標記的頂點。line_mapbox:在Mapbox線圖中,每一行都data_frame表示為Mapbox地圖上折線標記的頂點。line_geo:在地理線圖中,每一行都data_frame表示為地圖上折線標記的頂點。parallel_coordinates:在平行座標圖中,每行data_frame由折線標記表示,該折線標記穿過一組平行軸,每個平行軸對應一個平行軸 dimensions。parallel_categories:在並行類別(或平行集)圖中,每行data_frame與其他共享相同值的行組合,dimensions然後透過一組平行軸繪製為折線標記,每個平行軸對應一個dimensions。area:在堆積區域圖中,每行data_frame表示為2D空間中折線標記的頂點。連續折線之間的區域被填充。bar:在條形圖中,每行data_frame表示為矩形標記。bar_polar:在極座標圖中,每一行都data_frame表示為極座標中的楔形標記。violin:在小提琴圖中,將data_frame行分組成一個曲線標記,以便視覺化它們的分佈。box:在箱形圖中,行data_frame被組合在一起成為盒須標記,以顯示它們的分佈。strip:在條形圖中,每一行都data_frame表示為類別中的抖動標記。histogram:在直方圖中,行data_frame被組合在一起成為矩形標記,以視覺化該值的聚合函式histfunc(例如,計數或總和)的1D分佈y(或者x如果orientation是"h")。choropleth:在等值區域圖中,每行data_frame由地圖上的彩色區域標記表示。gapminder資料集說明我們使用gapminder資料集進行體驗 Plotly Express 。
gapminder資料集顯示2007年按國家/地區的人均預期壽命和人均GDP 之間的趨勢:包含1952~2007年世界各國家人口、GDP發展與/地區的人均預期壽命和人均GDP 之間的趨勢。
Country:國家,ChinaContinent:洲,AsiaYear:年份,1952LifeExp:預期壽命,44POP:人口,556263527GdpPercap:分均 GDP,400.448611iso_alpha:國家編碼,CHNiso_num:國家程式碼,156上手體驗一下,輕鬆地進行資料視覺化。散點圖scatter常用引數說明:
data_frame: 一個"整潔" pandas.DataFramex:(字串:列的名稱data_frame)此列中的值用於沿笛卡爾座標沿x軸定位標記。對於水平histogram()s,這些值用作輸入histfunc。y:(字串:列的名稱data_frame)此列中的值用於沿笛卡爾座標中的y軸定位標記。對於垂直histogram()s,這些值用作輸入histfunc。color:(字串:列的名稱data_frame)此列中的值用於為標記指定顏色。size:(字串:列名稱data_frame)此列中的值用於指定標記大小。color_continuous_scale:(有效CSS顏色字串列表)此列表用於在表示的列color包含數字資料時構建連續顏色標度。plotly_express.colors子模組中有各種有用的色標,特別plotly_express.colors.sequential是plotly_express.colors.diverging和plotly_express.colors.cyclical。title:(字串)圖示題。template:(字串或Plotly.py模板物件)圖模板名稱或定義。width:(整數,預設None)圖形寬度(以畫素為單位)。height:(整數,預設600)圖形高度(以畫素為單位)。使用散點圖描述華人口與GDP增長趨勢圖
地理散點圖scatter_geo常用引數說明
data_frame:“整潔”pandas.DataFramelat:(字串:data_frame)此列的值用於根據地圖上的緯度定位標記。lon:(字串:data_frame)此列的值用於根據地圖上的經度定位標記。locations:(字串:data_frame)該列中的值將根據locationmode並對映到經度/緯度。locationmode:(字串,“ISO-3”、“美國-州”、“國家名稱”之一)確定用於匹配locations地圖上的區域。color:(字串:data_frame)此列的值用於為標記指定顏色。size:(字串:data_frame)此列的值用於分配標記大小。color_continuous_scale:(有效的css-顏色字串列表)此列表用於在color包含數字資料。中提供了各種有用的色標。plotly_express.colors子模組,特別是plotly_express.colors.sequential, plotly_express.colors.diverging和plotly_express.colors.cyclical.title:(字串)圖形標題。width:(整數,預設)None)以畫素為單位的圖形寬度。height:(整數,預設)600)以畫素為單位的圖形高度。使用地理散點圖描述全球人口與GDP
折線圖(line)常用引數說明
data_frame:“整潔”pandas.DataFramex:(字串:data_frame)該列的值用於在笛卡爾座標中沿x軸定位標記。臥式histogram(),這些值用作histfunc.y:(字串:data_frame)該列的值用於在笛卡爾座標中沿y軸定位標記。垂直histogram(),這些值用作histfunc.color:(字串:data_frame)此列的值用於為標記指定顏色。facet_col:(字串:data_frame)此列中的值用於在水平方向平面子圖分配標記。title:(字串)圖形標題。width:(整數,預設)None)以畫素為單位的圖形寬度。height:(整數,預設)600)以畫素為單位的圖形高度。使用折線圖描述1952~2007中國與美華人口增長趨勢圖
條形圖(bar)常用引數說明
data_frame:“整潔”pandas.DataFramex:(字串:data_frame)該列的值用於在笛卡爾座標中沿x軸定位標記。臥式histogram(),這些值用作histfunc.y:(字串:data_frame)該列的值用於在笛卡爾座標中沿y軸定位標記。垂直histogram(),這些值用作histfunc.color:(字串:data_frame)此列的值用於為標記指定顏色。facet_row:(字串:data_frame)此列的值用於向垂直方向上的平面子圖分配標記。facet_col:(字串:data_frame)此列中的值用於在水平方向平面子圖分配標記。text:(字串:data_frame)此列的值以文字標籤的形式顯示在圖中。title:(字串)圖形標題。template:(String或Plotly.py模板物件)圖形模板名稱或定義。width:(整數,預設)None)以畫素為單位的圖形寬度。height:(整數,預設)600)以畫素為單位的圖形高度。使用條形圖描述1952~2007中國與美華人口增長趨勢圖
等值區域圖(choropleth)常用引數說明
data_frame:“整潔”pandas.DataFramelat:(字串:data_frame)此列的值用於根據地圖上的緯度定位標記。lon:(字串:data_frame)此列的值用於根據地圖上的經度定位標記。locations:(字串:data_frame)該列中的值將根據locationmode並對映到經度/緯度。locationmode:(字串,“ISO-3”、“美國-州”、“國家名稱”之一)確定用於匹配locations地圖上的區域。color:(字串:data_frame)此列的值用於為標記指定顏色。size:(字串:data_frame)此列的值用於分配標記大小。color_continuous_scale:(有效的css-顏色字串列表)此列表用於在color包含數字資料。中提供了各種有用的色標。plotly_express.colors子模組,特別是plotly_express.colors.sequential, plotly_express.colors.diverging和plotly_express.colors.cyclical.title:(字串)圖形標題。width:(整數,預設)None)以畫素為單位的圖形寬度。height:(整數,預設)600)以畫素為單位的圖形高度。使用等值區域圖描述各個國家人口數量
回覆列表
快速建立,當然是用庫囉。
主流的庫:pandas、seaborn、matplotlib。
另外plotlib和bokeh也可以瞭解下。
pandaspandas是基礎,資料分析視覺化,首先要分析,然後才談得上視覺化。
pandas的主要概念是DataFrame和Serie。其中用的最多的是DataFrame。DataFrame你可以簡單理解為一張表格,每行是一個觀測(observation)/例項(instance),每列是一個特徵(feature)/屬性(property)。理解了DataFrame,Serie也就不難理解,DataFrame的每行你都可以把它看成是一個Serie.
然後pandas提供了各種資料分析的方法,處理DataFrame和Serie.
繪相簿然後,seaborn、matplotlib、plotly、bokeh都是繪相簿,用來繪製各種視覺化的圖形。(當然,其實pandas也可以用來繪圖,但是pandas的繪圖能力比較孱弱,一般不用。)
seaborn是基於matplotlib的,後出轉精,API用起來比matplotlib簡潔舒服。不過seaborn並不能完全替代matplotlib,有的時候還是需要使用matplotlib。
seaborn和matplotlib都是繪製圖片,而plotly和bokeh可以做出可互動的圖片。當然,這也就意味著,為了實現互動功能,你需要自己搭一個服務(bokeh),或者是找平臺host(plotly提供收費host)。