1. 程式人生 > 其它 >資料探索性分析案例實現diamonds.csv

資料探索性分析案例實現diamonds.csv

《資料探索性分析案例實現(EDA) 》

一、資料描述

1.1資料集描述

diamonds資料框包含53940行,有carat、cut、color、clarity、depth、table、price、x、y、z共10列,對應每個鑽石的一些引數值。

carat:克拉,鑽石的重量

cut:代表了鑽石的切工,由低到高依次為Fair, Good, Very Good, Premium, Ideal

color:代表了鑽石的顏色從最低的J到最高的D

clarity:鑽石的純淨度,代表了鑽石的透明程度從低到高依次為I1, SI1, SI2, VS1, VS2, VVS1, VVS2, IF

depth:深度比例

table:代表了鑽石的桌面比例

price:代表了鑽石的價格

x,y,z:分別代表了鑽石的長/寬/高

1.2資料展示

1.3匯入資料

1.4檢視資料集資訊

從統計資訊可以看出數字型的總數、count,資料個數(非空資料),mean,均值,std,標準差,min,最小值,25%,第1四分位數,即第25百分位數,50%,第2四分位數,即第50百分位數,75%,第3四分位數,即第75百分位數,max,最大值等資訊。

二、問題提出

1、每個資料有什麼特徵?

3、價格和什麼成正比?

2、克拉、切割、顏色、鑽石的純淨度對價格的影響?

三、資料清洗和預處理

3.1查詢缺失值

pd.isnull(df).sum()

可以看出,該資料集沒有缺失值。

3.2檢視資料集型別

df.info()

檢視資料集型別,可以看到一個10x3的列表,該資料集有10列,53940條資料。Not-Null記錄該列是否有空值,Dtype描述每列資料的型別。

四、各變數相關性資料分析與視覺化

4.1通過庫,用程式碼實現視覺化

檢視資料描述

df.describe()

對每個特徵繪製柱狀圖

扇形圖

如上繪製clarity列扇形圖。同理繪製color、cut列扇形圖。圖片如下:

可以看到clarity主要分佈在VS2、SI1、SI2、VS1,I1、IF佔比很少。

可以看到,color為G佔比最大,J最小。

可以看出,cut切割理想(Ideal)的佔比最大,失敗的很少。

單個特徵的分佈情況(直方圖)

sns.distplot(df['price'],kde=False)

由直方圖可以看出加出價格的分佈情況。

4.2使用dtale視覺化資料

檢視資料

結果如下:

通過左上角的三角形開啟功能選單(通過language可將語言切換為中文)

描述

以price為例詳細展開說明:

檢視描述,可知價格分佈及頻率,還有最大值、中值、最小值、總和等。通過箱式圖可知道:

最小值:326

1/4分位點:950

中位數:2401

3/4分位點:5324.25

最大值:18823

直方圖:

可以看到價格為1250左右的最多,2000-7000其次,更貴就更少了。

細分

500個數據

5000個數據

50000條資料

從此細分計數圖可以看出,價格為600左右的最多。

price-carat

可以看出price-carat是正比例相關,價格越高,carat越高

以下給出了其他列和price計數圖

圖表功能

以price為x軸,其他列為y軸,可以得到如下結果:

carat by price

隨著鑽石重量的增加鑽石的價格也呈上升的趨勢

depth by price

cut by price

color by price

clarity by price

可以得出,克拉和價格成正相關,質量越重,價格越高,而價格高的鑽石的切工、純淨度不會太差,而顏色沒有太大相關。

ScatterPlot-散點圖

Wordcloud-詞雲圖

相關性

可以知道影響價格的最重要因素是carat。

五、主要結論

鑽石的重量越高價格越高,鑽石的重量越高其價格受其他因素的影響越大。

顏色、切工、透明度越好的鑽石價格均值越低。

鑽石的價格隨克拉數的升高而升高,透明度越好(IF)的鑽石的單價越高。

鑽石的價格隨克拉數的升高而升高,切工越好(Ideal)的鑽石的單價越高。

鑽石的價格隨克拉數的升高而升高,顏色越好(D)的鑽石的單價越高。