10 ,盒圖( 統計 ) boxplot :單盒,多盒

1 ,盒圖,意義 : 中位數

  1. 將數據排序 : 從小到大排序
  2. 取到 3 個值 : 1/4 處,2/4 處 ,3/4 處
  3. 1/2 處 : 實際上就是中位數
  4. 中位數 :
    1 ,不是 :數據最大值的一半
    2 ,而是 :排名中間的那個位置的數據
    3 ,本質 : 是排名,不是數據

2 ,盒圖,單盒 : boxplot

  1. 目的 : 泰坦尼克號,年齡統計
  2. 代碼 :
if __name__ == '__main__':
    # 查看所有參數 :
    # print(plt.rcParams.keys())
    # 通用設置 plt : 中文,正負號,寬度,顏色,樣式
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    plt.rcParams['lines.linewidth'] = 2
    plt.rcParams['lines.color'] = "red"
    plt.rcParams['lines.linestyle'] = "-"

    # 數據 :
    data = pd.read_csv("titanic_train.csv")
    data = data["Age"].dropna()
    # 盒圖 :
    plt.boxplot(data,labels=["年齡01"])
    plt.xlabel("年齡盒圖")

    # 全顯示 :
    plt.tight_layout()
    plt.show()
  1. 結果 :

3 ,盒圖,多盒 :

  1. 目的 : 不同倉位等級的平均年齡
  2. 代碼 :
if __name__ == '__main__':
    # 查看所有參數 :
    # print(plt.rcParams.keys())
    # 通用設置 plt : 中文,正負號,寬度,顏色,樣式
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    plt.rcParams['lines.linewidth'] = 2
    plt.rcParams['lines.color'] = "red"
    plt.rcParams['lines.linestyle'] = "-"

    # 數據 : 714 條,186 + 173 + 355 = 174
    data = pd.read_csv("titanic_train.csv")
    data = data[["Pclass","Age"]].dropna()

    data01 = data[data["Pclass"]==1]["Age"]
    data02 = data[data["Pclass"]==2]["Age"]
    data03 = data[data["Pclass"]==3]["Age"]

    data_new = pd.DataFrame(columns=["Age01","Age02","Age03"])
    # data_new = pd.Series(data_new)
    data01 = data01.reset_index()["Age"]
    data02 = data02.reset_index()["Age"]
    data03 = data03.reset_index()["Age"]
    # 構造新的數據
    data_new["Age01"] = data01
    data_new["Age02"] = data02
    data_new["Age03"] = data03
    # 空值處理:填寫均值
    #   38.233440860215055
    #   29.87763005780347
    #   25.14061971830986
    data_new["Age01"] = data_new["Age01"].fillna(data_new["Age01"].mean())
    data_new["Age02"] = data_new["Age02"].fillna(data_new["Age02"].mean())
    data_new["Age03"] = data_new["Age03"].fillna(data_new["Age03"].mean())
    print(data_new)

    # 畫圖 : 盒圖
    plt.boxplot(data_new.values,labels=["一等艙","二等艙","三等艙"])
    plt.xlabel("年齡盒圖")

    # 全顯示 :
    plt.tight_layout()
    plt.show()
  1. 結果 :
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章