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. 结果 :
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章