第2次作業-titanic數據集練習


一、讀入titanic.xlsx文件,按照教材示例步驟,完成數據清洗。

titanic數據集包含11個特征,分別是:

Survived:0代表死亡,1代表存活
Pclass:乘客所持票類,有三種值(1,2,3)
Name:乘客姓名
Sex:乘客性別
Age:乘客年齡(有缺失)
SibSp:乘客兄弟姐妹/配偶的個數(整數值)
Parch:乘客父母/孩子的個數(整數值)
Ticket:票號(字符串)
Fare:乘客所持票的價格(浮點數,0-500不等)
Cabin:乘客所在船艙(有缺失)
Embark:乘客登船港口:S、C、Q(有缺失)

1 import pandas as pd
2 titanic = pd.DataFrame(pd.read_excel(r'C:\Users\Administrator.PC-20180405YJVN\Desktop\titanic.xlsx'))
3 titanic.head()

 

 

1 #刪除無效行與列
2 titanic.drop('embark_town',axis=1,inplace=True)
3 titanic.head()

 

 

1 #查找重復值
2 titanic.duplicated()

 

 

1 #重復值處理
2 titanic = titanic.drop_duplicates()
3 titanic.head()

 

 

1 #統計空值的個數
2 titanic['who'].isnull().value_counts()

 

 

1 #使用fillna方法為“who”字段的空值填充數據“man”
2 titanic['who']=titanic['who'].fillna('man')
3 titanic.head()

 

 

1 #對於數據表中“age”字段的空值,為其填充平均值
2 titanic['age']=titanic['age'].fillna(titanic['age'].mean())
3 titanic.head()

 

 

1 #判斷是否存在異常值
2 titanic.describe()

 

 

1 #將異常值替換為平均值
2 titanic.replace([512.329200],titanic['fare'].mean())
3 titanic.head()

 

 

二、對titanic數據集完成以下統計操作

1.統計乘客死亡和存活人數

1 titanic['survived'].value_counts()

 

2.統計乘客中男女性別人數

1 titanic['sex'].value_counts()

 

 

3.統計男女獲救的人數

1 survive = titanic['sex'][titanic['survived']==1].value_counts()
2 print(survive)

 

 

4.統計乘客所在的船艙等級的人數

1 titanic['pclass'].value_counts()

 

 

5.使用corr()函數,判斷兩個屬性是否具有相關性,分析艙位的高低和存活率的關系

1 titanic['pclass'].corr(titanic['survived'])

 

 分析:根據數據可得,這是負相關,即艙位越高,存活率越高,反之亦然。

 

6.畫出乘客票價與艙位等級的箱體圖Boxplot,從圖中能夠得到哪些結論?

1 titanic.boxplot(['fare'],['pclass'])

 

 結論:艙位越高,價格越貴,存活率越高,反之亦然。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM