1 ,盒图,意义 : 中位数
- 将数据排序 : 从小到大排序
- 取到 3 个值 : 1/4 处,2/4 处 ,3/4 处
- 1/2 处 : 实际上就是中位数
- 中位数 :
1 ,不是 :数据最大值的一半
2 ,而是 :排名中间的那个位置的数据
3 ,本质 : 是排名,不是数据
2 ,盒图,单盒 : boxplot
- 目的 : 泰坦尼克号,年龄统计
- 代码 :
if __name__ == '__main__':
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()
- 结果 :
3 ,盒图,多盒 :
- 目的 : 不同仓位等级的平均年龄
- 代码 :
if __name__ == '__main__':
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[["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"])
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
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()
- 结果 :