python实现非正态分布转正态分布(BoxCox转换)

2023-10-31

功能:将一维非正态分布数据转化为正态分布

输入:xlsx文件含有"患者密度(人/10万人)"一列

输出:将"患者密度(人/10万人)"一列转换为正态分布,并输出

实现代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib
from scipy import stats
import warnings
warnings.filterwarnings("ignore")

def Box_Cox(file,sheet_name):
    df1 = pd.read_excel(file,sheet_name)
    print(df1["患者密度(人/10万人)"])
    sns.distplot(df1["患者密度(人/10万人)"],color = "#D86457")
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    matplotlib.rcParams['axes.unicode_minus'] = False
    plt.show()

    fig = plt.figure()
    ax = fig.add_subplot(111)
    stats.boxcox_normplot(df1["患者密度(人/10万人)"], -20, 20,plot = ax)
    plt.axvline(x = stats.boxcox_normmax(df1["患者密度(人/10万人)"]),color = "#D86457")
    plt.show()

    print(stats.boxcox_normmax(df1["患者密度(人/10万人)"]))
    x = stats.boxcox(df1["患者密度(人/10万人)"],stats.boxcox_normmax(df1["患者密度(人/10万人)"]))
    sns.distplot(x,color = "#D86457")
    plt.show()

    df=pd.DataFrame(x,columns=['转换'])
    print(df)


if __name__=='__main__':
    Box_Cox("F:\医学大数据课题\论文终稿修改\实验\差异性分析.xlsx",sheet_name='人口密度分组')

结果展示:

 

 

 

 关注数据杂坛学习更多!

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python实现非正态分布转正态分布(BoxCox转换) 的相关文章

随机推荐

  • 【100天精通Python】Day46:Python网络编程_网络编程基础与入门

    目录 专栏导读 1 网络编程的基础 2 基本概念和协议 2 1 计算机网络基础 2 2 网络协议 IP地址 端口号 2 3 常见网络协议 3 套接字编程 3 1 套接字的基本概念 3 2 套接字的基本操作 3 3 套接字通信模型和方法 se
  • PHP phpoffice/phpspreadsheet导出excel

    PHP phpoffice phpspreadsheet导出excel 由于PHPExcel已经被废弃在PHP7 2中已经无法获取更新 官方重新开了一个新包phpspreadsheet 注意 这里使用的是tp6框架做测试 第一步 使用com
  • 新手帮助,STM32 刷入Arduino的BootLoader。实现免串口下载

    不少新人从某宝买回来十元一个的STM32C8T6的最小系统板 满网扒教程 最后搞一点点东西 也得把串口线拔来拔去 费事得很 上网上搜了一下 都说的比较笼统 故而 此篇是东拼西凑的 实在没工夫从头整理各种素材 借鉴 https www ard
  • 基于python大数据的电影可视化分析及电影推荐

    随着信息技术和互联网技术的快速发展 利用数据采集技术实现用户感兴趣的数据收集分析成为很多互联网公司研究讨论的热门话题 通过对基于Python的大数据的电影可视化分析与电影推荐 采集进行电影热度动态变化的需求进行调查分析 发现作为研究电影热度
  • 【模型训练】出现TypeError: unsupported operand type(s) for /: ‘NoneType‘ and ‘float‘

    在训练深度学习模型的过程中 出现报错 TypeError unsupported operand type s for NoneType and float 报错如下 libpng error Read Error Traceback mo
  • Qt之图形视图框架

    简述 图形视图架构 场景 视图 图元 图形视图框架中的类 图形视图坐标系 图元坐标 场景坐标 视图坐标 坐标映射 主要特点 缩放和旋转 打印 拖放 光标和tooltip 动画 OpenGL渲染 图元组 部件和布局 QGraphicsWidg
  • 通过手机号定位归属地

    工作中 很多地方 都存在只知道手机号 同时也想知道这个手机号的归属地的情况 本功能 即可实现这个要求 同时 可在此基础上做调整 实现其它功能 如制作一个属于自己的手机号段归属库等 实现思路 通过网上提供的免费查询接口 取得返回信息 并对返回
  • osg fbo(三),将颜色缓冲区图片通过shader变绿

    这个其实很简单 一 写顶点着色器和片元着色器 static const char vertexShader void main void n n gl Position ftransform n n static const char ps
  • 看完这篇文章保你面试稳操胜券——React篇

    进大厂收藏这一系列就够了 全方位搜集总结 为大家归纳出这篇面试宝典 面试途中祝你一臂之力 共分为四个系列 本 篇 为 看 完 这 篇 文 章 保 你 面 试 稳 操 胜 券 第 五 篇
  • 邮票孔相关

    1 PCB厂子把这个叫做半孔焊盘 加工起来要多收费的 首先内孔金属化的工艺要求比普通焊盘或过孔要高 负责的厂子会做切片抽检 其次是板子切割 别的板子边缘可能用冲床或者V割来加工 速度很快 这种我不知道用什么刀具 但精度控制很高 切边的时候如
  • 多开虚拟机就卡内存cpu都够_CPU过剩是真是假?告诉你造成电脑卡顿的原因

    最近一些朋友说自己的电脑经常卡顿 即使升级了CPU啥的还是无法完全解决 还有的即使用了大家推荐的固态硬盘 使用时间一长也会卡顿 原因究竟是什么呢 尽管都说如今的电脑CPU性能过剩 但也得看你是拿来干什么的 如果是日常上网聊天的话 即使是几百
  • 阿里云 k8s 专有版集群修改节点 最大pod 数

    阿里云 k8s 专有版集群修改节点 最大pod 数 默认64 在节点上编辑此文件 vi etc systemd system kubelet service d 10 kubeadm conf 修改如下这行参数中的 max pods 例如将
  • 递归算法学习——全排列

    目录 编辑 一 问题描述 1 例子 题目接口 二 问题分析和解决 1 问题分析 2 解题代码 一 问题描述 首先我们得来先看看全排列的问题描述 全排列问题的问题描述如下 给定一个不含重复数字的数组 nums 返回其 所有可能的全排列 你可以
  • 统计java类出现的次数并写出到文件

    package File方法 import java io public class FileCount int javaNum 0 int classNum 0 int rowNum 0 public void count String
  • C语言:整数的存储方式

    整数的存储方式 char类型在存储时是按照ASCII码值进行存储 存储方式与整型一致 有符号数与无符号数 char 一个字节 signed char unsigned char int 四个字节 signed int unsigned in
  • CentOS7.9安装kafka-3.2.0和window10 下安装kafka-3.2.0

    目录 1 下载软件包 2 配置环境 3 安装zookeeper 4 安装kafka 5 测试功能 6 window 10下安装 1 下载软件包 首先下载zookeeper 地址 Apache ZooKeeperhttps zookeeper
  • ubuntu下在远程登录的主机上广播信息

    要在远程登录的主机上广播信息 可以使用以下几种方法 1 使用wall命令 wall命令可以将一条消息发送给所有登录到主机上的用户 在终端中输入以下命令来广播消息 wall Your message here 将 Your message h
  • Dynamics CRM环境还原

    Dynamics CRM 组织还原 一 还原数据库 二 导入组织 一 还原数据库 备份好 bat文件 切记 如果在同一台服务器上还原一个数据库 一定要修改目标数据库的名字 默认还原的名字会和原来的备份的数据库名字一样 二 导入组织 把姓名的
  • UGUI防止点击穿透

    if IsPointerOverGameObject Input mousePosition public static bool IsPointerOverGameObject Vector2 screenPosition 实例化点击事件
  • python实现非正态分布转正态分布(BoxCox转换)

    功能 将一维非正态分布数据转化为正态分布 输入 xlsx文件含有 患者密度 人 10万人 一列 输出 将 患者密度 人 10万人 一列转换为正态分布 并输出 实现代码 import pandas as pd import numpy as