【大数据】机器学习 -----关于data.csv数据集分析案例

打开表

import  pandas  as  pd
df2 = pd.read_csv("data.csv",encoding="gbk")
df2.head()

查看数据属性(列标题,表形状,类型,行标题,值)

print("列标题:",df2.columns)

DataFrame表的形状,类型,行标题,值属性

print("表形状:",df2.shape)
print("类型:",df2.dtypes)
print("行标题:",df2.index)
print("值属性:",df2.values)

在这里插入图片描述

定性数据的分析

要求:统计每一类性别的人数

1.提取性别列

sex_v2 = df2["性别"]
sex_v2

2.统计男性人数

import  numpy  as  np   # 数据统计库
maleV2 = np.sum(sex_v2==1)
print("男性人数:",maleV2)

3.统计女性人数

femaleV2 = np.sum(sex_v2==0)
print("女性人数:",femaleV2)

在这里插入图片描述

将以上统计结果绘制成饼图

1.准备画布

import  matplotlib.pyplot  as  plt   # 绘图库
plt.rcParams["font.sans-serif"] = "SimHei"

2.准备数据

data = [maleV2,femaleV2]
dataLabel = ["男","女"]

3.绘制图形

plt.pie(data,labels=dataLabel)

4.保存和显示

plt.show()

在这里插入图片描述

统计不同性别的是否按期还款人数

useDF2 = df2.loc[:,["是否按期还款","性别"]]      # 取出源表的两列数据seleDF2 = useDF2.loc[useDF2["性别"]==1,:]   # 取出性别为男的数据

统计不同性别的是否按期还款人数

useDF2 = df2.loc[:,["是否按期还款","性别"]]      # 取出源表的两列数据seleDF2 = useDF2.loc[useDF2["性别"]==1,:]   # 取出性别为男的数据

提取男性中不能按期还款的人数

nopayDF2 = seleDF2.loc[seleDF2["是否按期还款"]==0,:]    # 男性中不能按期还款
payDF2 = seleDF2.loc[seleDF2["是否按期还款"]==1,:]    # 男性中能按期还款

在这里插入图片描述
在这里插入图片描述

import  pandas  as  pd
import  numpy  as  np
import  matplotlib.pyplot  as  plt   # 绘图库
plt.rcParams["font.sans-serif"] = "SimHei"df2 = pd.read_csv("data.csv",encoding="gbk")def  paydef(type_v2,vList):payDict = {}    # 用来存放不同的统计情况for i in range(len(vList)):# 统计不同性别的是否按期还款人数useDF2 = df2.loc[:,["是否按期还款",type_v2]]      # 取出源表的两列数据seleDF2 = useDF2.loc[useDF2[type_v2]==vList[i],:]   # 取出性别为男的数据# 提取男性中不能按期还款的人数nopayDF2 = seleDF2.loc[seleDF2["是否按期还款"]==0,:]    # 男性中不能按期还款payDF2 = seleDF2.loc[seleDF2["是否按期还款"]==1,:]    # 男性中能按期还款print(f"第{i+1}个统计结果:{nopayDF2.shape}")# 将统计结果放到字典中payDict[vList[i]] = [seleDF2.shape[0],payDF2.shape[0],nopayDF2.shape[0],payDF2.shape[0]/seleDF2.shape[0]]# print(payDict)return payDict# 
def changedef(d2,d3):# nDict = {}for k in d2.keys():nDict[d3[k]] = d2[k]return nDict# 绘图函数 
def figdef(dataDict):# 1.准备画布plt.figure(figsize=(8,6),dpi=80)# 2.准备数据data = []dataLabel = []for k,v in dataDict.items():data.append(v[1])dataLabel.append(k)# 3.绘制图形plt.pie(data,labels=dataLabel)# 4.保存和显示plt.show()
# 主函数
def  main():type_v2 = input("请输入分类关键词:")# 学生完成:将已婚_未婚,已育_未育的数据添加到字典中typeDict = {"性别":{0:"女",1:"男"},"教育水平":{1:"高中及以下",2:"本科",3:"研究生",4:"研究生以上"},"英语水平":{1:"四级以下",2:"四级",3:"六级",4:"六级以上"},"已婚_未婚":{1:"已婚",2:"未婚"},"已育_未育":{1:"已育",2:"未育"}}# 统计性别的取值个数vList = np.unique(df2[type_v2])print(vList)# 调用统计函数payDict = paydef(type_v2,vList)nDict = changedef(payDict,typeDict[type_v2])print(nDict)figdef(nDict)# 入口
if  __name__ == "__main__":main()

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

import  pandas  as  pd
import  numpy  as  np
import  matplotlib.pyplot  as  plt   # 绘图库
plt.rcParams["font.sans-serif"] = "SimHei"df2 = pd.read_csv("data.csv",encoding="gbk")
df2.head()

在这里插入图片描述

定量数据分析–收入

incomeV2 = df2["收入"]

集中趋势(平均值,中位数,众数)

print("平均值:",incomeV2.mean())
print("中位数:",incomeV2.median())
print("众数:",incomeV2.mode())

分散程度(最大值,最小值,方差,标准差)

print("最小值:",incomeV2.min())
print("最大值:",incomeV2.max())
print("方差:",incomeV2.var())
print("标准差:",incomeV2.std())

在这里插入图片描述

处理异常值

1.提取异常值

f2 = p2["fliers"][0].get_ydata()
print(f2)

2.删除异常值

2-1:找到异常值对应的行索引

f_index = []      # 存放异常值,对应的行索引for  i  in range(len(incomeV2)):if  incomeV2[i]   in  f2:f_index.append(incomeV2.index[i])print(f_index)

2-2:使用命令drop删除异常值

clear_f_df2 = df2.drop(f_index,axis=0)
print("清除异常值后:",clear_f_df2.shape)

在这里插入图片描述

直方图

1.绘制画布

plt.figure(figsize=(8,6),dpi=80)

2.准备数据

data = incomeV2.values
labelV2 = ["收入"]

3.绘制图形

h2 = plt.hist(data,10)
plt.title("收入直方图")

4.显示图形

plt.show()
print(h2)

在这里插入图片描述

箱线图

1.绘制画布

plt.figure(figsize=(8,6),dpi=80)

2.准备数据

data = incomeV2.values
labelV2 = ["收入"]

3.绘制图形

p2 = plt.boxplot(data)
plt.title("收入箱线图")

4.显示图形

plt.show()
print(p2)

在这里插入图片描述

在这里插入图片描述

import  pandas  as  pd
import  numpy  as  np
import  matplotlib.pyplot  as  plt   # 绘图库
plt.rcParams["font.sans-serif"] = "SimHei"df2 = pd.read_csv("data.csv",encoding="gbk")
df2.head()# 函数1-直方图
def  histdef(ax,data):ax.hist(data,10)# 函数2-箱线图
def  boxplotdef(ax,data):p2 = ax.boxplot(data)return p2def clearFdef(p2):# 处理异常值# 1.提取异常值f2 = p2["fliers"][0].get_ydata()incomeV2 = df2["收入"]print(f2)# 2.删除异常值# 2-1:找到异常值对应的行索引f_index = []      # 存放异常值,对应的行索引for  i  in range(len(incomeV2)):if  incomeV2[i]   in  f2:f_index.append(incomeV2.index[i])print(f_index)# 2-2:使用命令drop删除异常值clear_f_df2 = df2.drop(f_index,axis=0)print("清除异常值后:",clear_f_df2.shape)return clear_f_df2# 主函数
def  main():# 1.绘制画布fig = plt.figure(figsize=(12,10),dpi=80)# 2.分割画布# 图1ax1 = fig.add_subplot(2,2,1)data2 = df2["收入"]histdef(ax1,data2)plt.title("清洗前的收入直方图")# 图2ax2 = fig.add_subplot(2,2,2)p2 = boxplotdef(ax2,data2)clear_f_df2 = clearFdef(p2)plt.title("清洗前的收入箱线图")# 图3ax3 = fig.add_subplot(2,2,3)data3 = clear_f_df2["收入"]histdef(ax3,data3)plt.title("清洗前的收入箱线图")# 图4ax4 = fig.add_subplot(2,2,4)p3 = boxplotdef(ax4,data3)clear_f_df2 = clearFdef(p3)plt.title("清洗前的收入箱线图")# 入口
if  __name__ == "__main__":main()

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/892922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发规范

开发规范 企业项目开发有2种开发模式:前后台混合开发和前后台分离开发。 前后台混合开发 顾名思义就是前台后台代码混在一起开发,如下图所示: 这种开发模式有如下缺点: 沟通成本高:后台人员发现前端有问题&#xf…

【Mysql进阶知识】从.SQL文件中执行SQL语句

目录 方法一:使用source命令导入 方法二:使用mysql客户端导入 方法一:使用source命令导入 有时候我们需要从 SQL 文件执行一些 SQL 语句,比如要把一个数据库从一台服务器 A 复制到另一台服务器 B 上,那么可以先从服务…

springMVC---resultful风格

目录 一、创建项目 pom.xml 二、配置文件 1.web.xml 2.spring-mvc.xml 三、图解 四、controller 一、创建项目 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi…

RustDesk ID更新脚本

RustDesk ID更新脚本 此PowerShell脚本自动更新RustDesk ID和密码&#xff0c;并将信息安全地存储在Bitwarden中。 特点 使用以下选项更新RustDesk ID&#xff1a; 使用系统主机名生成一个随机的9位数输入自定义值 为RustDesk生成新的随机密码将RustDesk ID和密码安全地存储…

告别 Excel,拥抱 R 语言:开启数据分析新时代

在这个数据驱动的时代&#xff0c;数据分析已然成为每个行业的核心竞争力。从市场营销到金融领域&#xff0c;从医疗健康到教育行业&#xff0c;数据无处不在&#xff0c;深刻影响着每一个决策。然而&#xff0c;面对日益复杂的数据集&#xff0c;单纯依靠 Excel 进行分析&…

LabVIEW驱动电机实现样品自动搜索

利用LabVIEW控制电机驱动相机在XY平面上进行扫描&#xff0c;以检测样品位置。样品最初可能位于相机视野范围之外&#xff0c;需要实现自动搜索样品位置并完成精确定位扫描的功能。该系统需具有以下特点&#xff1a; 高效搜索&#xff1a;能够快速确定样品位置&#xff0c;缩短…

【C语言】_字符串拷贝函数strcpy

目录 1. 函数声明及功能 2. 使用示例 3. 注意事项 4. 模拟实现 4.1 第一版&#xff1a;基本功能判空const修饰 4.2 第二版&#xff1a;优化对于\0的单独拷贝 4.3 第三版&#xff1a;仿strcpy的char*返回值 1. 函数声明及功能 char * strcpy ( char * destination, cons…

大模型WebUI:Gradio全解11——Chatbots:融合大模型的多模态聊天机器人(3)

大模型WebUI&#xff1a;Gradio全解11——Chatbot&#xff1a;融合大模型的多模态聊天机器人&#xff08;3&#xff09; 前言本篇摘要11. Chatbot&#xff1a;融合大模型的多模态聊天机器人11.3 组件Chatbot及ChatMessage11.3.1 Chatbot&#xff1a;聊天机器人组件1. API参数2.…

细说STM32F407单片机窗口看门狗WWDG的原理及使用方法

目录 一、窗口看门狗的工作原理 1、递减计数器 2、窗口值和比较器 3、看门狗的启动 4、提前唤醒中断 二、窗口看门狗的HAL驱动程序 1、窗口看门狗初始化 2.窗口看门狗刷新 3.EWI中断及其处理 三、不开启EWI的WWDG示例 1、示例功能 2、项目设置 &#xff08;1&…

Docker部署Spring Boot + Vue项目

目录 前提条件 概述 下载代码 打开代码 Docker创建网络 MySQL容器准备 MySQL数据库配置 启动MySQL容器 测试连接MySQL 初始化MySQL数据 Redis容器准备 修改Redis配置 启动redis容器 部署后端 后端代码打包 上传jar包到Linux 创建Dockerfile 构建镜像 运行后…

基于Oracle与PyQt6的电子病历多模态大模型图形化查询系统编程构建

一、引言 1.1 研究背景阐述 在当今数字化时代,医疗行业正经历着深刻的变革,数字化转型的需求日益迫切。电子病历(EMR)作为医疗信息化的核心,其管理的高效性和数据利用的深度对于提升医疗服务质量、优化临床决策以及推动医学研究具有至关重要的意义。传统的电子病历管理系…

万字长文介绍ARINC 653,以及在综合模块化航空电子设备(IMA)中的作用

文章目录 一、引言二、ARINC 653背景三、整体系统架构四、应用/执行&#xff08;APEX&#xff09;接口五、ARINC 653 RTOS内部机制六、健康监测功能七、软件应用八、ARINC 653现状九、总结 一、引言 在现代航空领域&#xff0c;综合模块化航空电子设备&#xff08;IMA&#xf…

在eNSp上telnet一下吧

在上篇博客&#xff1a;DNS 我们提到了telnet和设备带外管理、带内管理&#xff0c;它确实是非常有趣的一个知识点哦&#xff0c;接下来我们一起来学习学习吧~ Telnet&#xff08;远程登陆协议&#xff09; Telnet基于TCP 23号端口&#xff0c;典型的C/S架构模式&#xff0c;是…

音频语言模型与多模态体系结构

音频语言模型与多模态体系结构 多模态模型正在创造语言、视觉和语音等以前独立的研究领域的协同效应。这些模型使用通用架构,将每种模式视为不同的“token”,使它们能够以一种与人类认知非常相似的方式联合建模和理解世界。 ​ ​可以将多模态分为两个主要领域:输入空间(…

【深度学习】关键技术-正则化(Regularization)

正则化&#xff08;Regularization&#xff09; 是一种用于防止模型过拟合的技术。它通过在损失函数中添加额外的约束项&#xff0c;限制模型的复杂度&#xff0c;从而提高模型的泛化能力。 正则化的主要作用 防止过拟合&#xff1a;通过抑制模型对训练数据的过度拟合&#xf…

怎么在iPhone手机上使用便签进行记录?

宝子们&#xff0c;在这个快节奏的时代&#xff0c;灵感的火花总是一闪而过&#xff0c;待办事项也常常让人应接不暇。好在咱们的 iPhone手机便签超给力&#xff0c;能满足各种记录需求&#xff01;今天就来给大家分享一下&#xff0c;如何在 iPhone 手机上巧用便签&#xff0c…

渗透测试之越权漏洞详解 水平越权 垂直越权 目录越权 SQL跨库查询越权 以及未授权漏洞 一篇文章说明白

目录 什么是越权 越权漏洞形成的原因是&#xff1a; 越权常见分类 漏洞产生条件 越权细分类 水平越权&#xff1a; 水平越权解释&#xff1a; 垂直越权&#xff1a; 垂直越权示例: 解释: 修复建议 例如 越权漏洞易发生的点 1.基础参数 2.多阶段验证 3.基于参数的访…

ANSYS Fluent学习笔记(七)求解器四部分

16.亚松弛因子 Controls面板里面设置&#xff0c;它能够稳定计算的过程。如果采用常规的迭代算法可能结果就会发生振荡的情况。采用亚松驰因子可以有助于残差的稳定。 他的取值范围是0-1&#xff0c;0代表没有亚松驰&#xff0c;1表示物理量变化很快&#xff0c;一般情况下取…

ComfyUI安装

项目地址&#xff1a;https://github.xyz/comfyanonymous/ComfyUI 下载地址(我下载时的最新版时v0.3.10)&#xff1a;https://github.xyz/comfyanonymous/ComfyUI/releases/tag/v0.3.10 加速下载地址&#xff1a;https://bgithub.xyz/comfyanonymous/ComfyUI/releases/tag/v0…

《C++11》静态断言(Static Assert)的使用与优势

C11引入了许多新特性&#xff0c;其中之一就是静态断言&#xff08;Static Assert&#xff09;。这是一种在编译时期进行断言的机制&#xff0c;它可以帮助我们在编译阶段就发现错误&#xff0c;而不是等到运行时才发现。这样可以大大提高代码的质量和稳定性。本文将详细介绍静…