13 ,綜合案例,泰坦尼克分析報告 :先列轉換,再分組聚合

1 ,船艙等級,性別,是否成年,對於倖存率的影響

  1. 代碼 :
if __name__ == '__main__':
    # 讀文件 csv :
    data = pd.read_csv("titanic_train.csv")
    # 我們需要的數據 :
    cols = ["PassengerId","Pclass","Fare","Survived","Sex","Age"]
    data = data[cols]
    # 空值處理 : 全部去掉,刪除行,還剩下的數據 (714, 6)
    data = data.dropna(axis=0)
    # col 是具體的數值,對於我們的 Age 來說,col 是具體的元素
    def adulorcld(row):
        age = row["Age"]
        if age>=18:
            return "adult"
        else:
            return "cld"
    # 將數據離散化,得到是否成年列
    col_adcl = data.apply(adulorcld,axis=1)
    # 檢查數據 : 714 個數據,沒少
    # print(col_adcl.size)
    data["adcl"] = col_adcl
    # 求倖存率 : 用聚合函數 pivot_table
    res = data.pivot_table(index=["adcl","Pclass","Sex"],values="Survived",aggfunc=np.mean)
    res01 = res.sort_values("Survived",inplace=False,ascending=False)
    print(res)
    print(res01)
  1. 結果 :
                     Survived
adcl  Pclass Sex             
adult 1      female  0.974026
             male    0.371134
      2      female  0.903226
             male    0.068182
      3      female  0.417910
             male    0.133333
cld   1      female  0.875000
             male    1.000000
      2      female  1.000000
             male    0.818182
      3      female  0.542857
             male    0.232558
==============================================
==============================================
                     Survived
adcl  Pclass Sex             
cld   1      male    1.000000
      2      female  1.000000
adult 1      female  0.974026
      2      female  0.903226
cld   1      female  0.875000
      2      male    0.818182
      3      female  0.542857
adult 3      female  0.417910
      1      male    0.371134
cld   3      male    0.232558
adult 3      male    0.133333
      2      male    0.068182
  1. 結論 :
    男人,不愧爲家裏的頂樑柱,關鍵時刻,會保護自己的女人,將生存的希望留給女人和孩子。
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章