資料探索性分析案例實現
阿新 • • 發佈:2021-06-18
一、資料描述
對diamonds資料集進行描述,該資料集總共由8個部分十個欄位組成。
1.color:色彩欄位,分為了7個層級,從D到J來表示鑽石顏色層級。
2.clarity:鑽石的純度,主要是表示鑽石內的雜質以及鑽石含量。
3.carat:鑽石的重量單位克拉。
4.cut:鑽石的切割質量。
5.depth:鑽石的全深比。
6.table:鑽石的檯面。
7.price:鑽石的價格。
8.鑽石的大小資料,包括三個方位資料,x:長,單位mm,y:寬,單位mm,z:高,單位mm。
二、問題提出
1.既然要處理資料,我們怎麼匯入資料?
2.匯入資料後如何檢視資料?
3.資料視覺化如何實現?
4.鑽石的各個屬性之間有沒有什麼關聯性?
三、資料預處理
1.資料匯入
import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib.cm as sns get_ipython().run_line_magic('matplotlib', 'inline') df=pd.read_csv(r'diamonds.csv')
2.資料集檢視
print("輸出資料集:") print(df.head())
3.資料統計
print("資料統計資訊:") print(df.describe())
四、資料清洗
1.缺失值
df.isnull().sum()
2.資料型別統計
print("資料型別統計:") print(df.info())
3.處理缺失值
df.dropna(inplace=True) df.dropna(thresh=2) df.dropna(how='all') df.dropna(axis='columns')
五、資料視覺化
1.檢視整體多對關係
import seaborn as sns sns.pairplot(df) plt.show()
2.扇形圖
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.pie(x=df['clarity'].value_counts(),labels=df['clarity'].value_counts().index,autopct='%.1f%%',) plt.title(u'clarity') plt. show()
3.直方圖
sns.distplot(df['price'],kde=False)
4.折線圖
sns.boxplot(data=df['z']) plt.show()
5.散點圖
sns.jointplot(x="x", y="y", data=df,color='blue', kind='scatter'); plt.show()
6.箱型圖檢視異常值
sns.boxplot(data=df['z']) plt.show() r=[x for i,x in enumerate(df.index) if df.z[i]>10] print('Remvove row: ',r) df.drop(r,axis=0,inplace=True) sns.boxplot(data=df['z']) plt.show()
六、總結
1.切割質量越好,鑽石的價格越高。
2.價格與鑽石的長寬深有很強的相關性,而且基本都是正相關。
3.透明度越好的鑽石的單價越高。
4.顏色越好的鑽石的單價越高。