Python中箱线图的分析以及生成

Python中箱线图的分析以及生成

一、利用matplotlib包生成箱线图

  1. Python中存在创建箱线图的第三方包matplotlib,在这里我们具体调用其中的pyplot类

import matplotlib.pyplot as plt

  1. 直接使用方法boxplot即壳直接生成箱线图

plt.boxplot(data)

在这里我以加利福利亚房屋数据为例生成一副箱线图

​ 在生成箱线图时需要对数据进行归一化,不然生成的箱线图会出现异常现象。

# @File : 房价数据回归分析.py
# @Author : strive_yang
# @Time : 2022/3/25 16:31
# @Software : PyCharm

from sklearn.datasets import fetch_california_housing
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
import numpy as np

# def Get_Data(): # 获得房屋数据并存储
#     data_set=fetch_california_housing().data    # 获得自带的加利福利亚的房屋数据
#     data_set=pd.DataFrame(data_set)     # 将数据集转化格式
#     data_set.to_csv("california_house_data.csv",index=False)

def Data_Normalization(data):   # 数据归一化
    for i in data.columns:
        scaler = MinMaxScaler()
        data[i]=scaler.fit_transform(data[i].values.reshape(-1,1))
        # reshape(-1,1)转换为二维数据存入二维表

def Draw_Pir(data):
    plt.boxplot(data)
    plt.show()

if __name__=="__main__":
    # house_data=Get_Data()
    house_data=pd.read_csv("california_house_data.csv")
    Data_Normalization(house_data)
    Draw_Pir(house_data)

二、分析箱线图

  • IQR=75%分位数(Q3)-25%分位数(Q1)
  • 下边缘=Q1-1.5IQR
  • 上边缘=Q3+1.5IQR

ps:上边缘并不是表示的最大值

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值