【大数据】机器学习 -----关于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()
相关文章:

【大数据】机器学习 -----关于data.csv数据集分析案例
打开表 import pandas as pd df2 pd.read_csv("data.csv",encoding"gbk") df2.head()查看数据属性(列标题,表形状,类型,行标题,值) print("列标题:",df2.columns)Data…...
深入解析 C++ 类型转换
简介 C 类型转换是开发者必须掌握的重要技能之一, 无论是处理隐式转换还是显式转换, 理解其背后的机制与用法至关重要. 本篇博客旨在从基础到高级全面解析 C 的类型转换, 包括实际开发中的应用场景和性能分析. 自动转换 隐式类型转换 编译器可以在无需明确指示的情况下, 将一…...
C++ union 联合(八股总结)
union(联合体)允许在同一内存位置上存储不同的数据类型,所有成员共享相同的内存空间。 内存布局 由于联合体的所有成员都共享同一块内存,因此联合体的大小是其最大成员的大小。联合体的实际大小取决于其最大成员的类型和对齐要求…...
聊聊AI Agent
什么是AI Agent? AI Agent指的是一种使用人工智能技术的自主实体,它能够感知环境、做出决策,并采取行动以实现特定目标。AI Agent的核心思想是它能够独立运作,基于输入信息做出有根据的决策,并通过学习算法不断提高自…...

scala代码打包配置(maven)
目录 mavenpom.xml打包配置项(非完整版,仅含打包的内容< build>)pom.xml完整示例(需要修改参数)效果说明 maven 最主要的方式还是maven进行打包,也好进行配置项的管理 以下为pom文件(不要…...

慧集通(DataLinkX)iPaaS集成平台-业务建模之业务对象(二)
3.UI模板 当我们选择一条已经建好的业务对象点击功能按钮【UI模板】进入该业务对象的UI显示配置界面。 右边填写的是UI模板的编码以及对应名称;菜单界面配置以业务对象UI模板编码获取显示界面。 3.1【列表-按钮】 展示的对应业务对象界面的功能按钮配置࿱…...
C++使用minio-cpp库在minio中创建bucket
直接看代码 #include <iostream> #include <string>#include "miniocpp/client.h"int main() {minio::s3::BaseUrl baseUrl("base url");minio::creds::StaticProvider staticProvider("access key", "secret key");mini…...
【大模型】大语言模型的数据准备:构建高质量训练数据的关键指南
大语言模型的数据准备:构建高质量训练数据的关键指南 大语言模型(LLM, Large Language Model)的训练离不开高质量的数据,而数据准备是模型性能的基石。无论是预训练还是微调,数据的选择、清洗和标注都会直接影响模型的…...

【解决】okhttp的java.lang.IllegalStateException: closed错误
问题 Android 使用OKHttp进行后端通信,后端处理结果,反馈给前端的responseBody中其实有值,但是一直报异常,后来才发现主要是OkHttp请求回调中response.body().string()只能有效调用一次,而我使用了两次: 解…...

TCP-IP详解卷 TCP的超时与重传
TCP-IP详解卷1-21:TCP的超时与重传(Timeout and Retransmission) 一:介绍 1: 与数据链路层的ARQ协议相类似,TCP使用超时重发的重传机制。 即:TCP每发送一个报文段,就对此报文段设置…...
Linux服务器查看【可用端口号连接】的命令和方式【netstat,ss,lsof】
Linux服务器查看可用连接的端口号的命令和方式 前言:1. 使用netstat命令(netstat命令详解及使用指南)一、什么是netstat二、基本使用方法与参数解释三、输出结果字段含义:四、查找可用于SSH连接的端口示例五、部分高级用法&#x…...

【WPS】【WORDEXCEL】【VB】实现微软WORD自动更正的效果
1. 代码规范方面 添加 Option Explicit:强制要求显式声明所有变量,这样可以避免因变量名拼写错误等情况而出现难以排查的逻辑错误,提高代码的健壮性。使用 On Error GoTo 进行错误处理:通过设置错误处理机制,当代码执行…...
Attention计算中的各个矩阵的维度都是如何一步步变化的?
在Transformer模型中,各个矩阵的维度变化是一个关键的过程,涉及到输入、编码器、解码器和输出等多个阶段。以下是详细的维度变化过程: 输入阶段 输入序列:假设输入序列的长度为seq_len,每个单词或标记通过词嵌入&…...

【数模学习笔记】插值算法和拟合算法
声明:以下笔记中的图片以及内容 均整理自“数学建模学习交流”清风老师的课程资料,仅用作学习交流使用 文章目录 插值算法定义三个类型插值举例插值多项式分段插值三角插值 一般插值多项式原理拉格朗日插值法龙格现象分段线性插值 牛顿插值法 Hermite埃尔…...
探索 C++ 与 LibUSB:开启 USB 设备交互的奇幻之旅
一、引言 在当今数字化时代,USB(通用串行总线)设备无处不在,从常见的 U 盘、鼠标、键盘,到复杂的工业数据采集设备、医疗监测仪器等,它们以方便快捷的插拔式连接,为人们的生活和工作带来了极大…...

二、模型训练与优化(4):模型优化-实操
下面我将以 MNIST 手写数字识别模型为例,从 剪枝 (Pruning) 和 量化 (Quantization) 两个常用方法出发,提供一套可实际动手操作的模型优化流程。此示例基于 TensorFlow/Keras 环境,示范如何先训练一个基础模型,然后对其进行剪枝和…...
3D可视化产品定制,应用于哪些行业领域?
3D可视化定制服务已广泛渗透至众多行业领域,包括汽车、家居、时尚鞋服、珠宝配饰以及数码电器等: 汽车行业: 借助Web全景技术与3D模型,我们高保真地再现了汽车外观,为用户带来沉浸式的车型浏览体验。用户可在展示界面自…...

Avalonia 入门笔记(零):概述
Avalonia 是一个基于 .NET 和 Skia 的开源、跨平台 UI 框架,支持 Windows、Linux、macOS、iOS、Android 和 WebAssembly。Skia 是一个基于 C 的开源 2D 渲染引擎,Avalonia 通过 Skia 自绘 UI 控件,保证在全平台具有一致的观感 基于 .NET 的跨…...

Unity TextMesh Pro入门
概述 TextMesh Pro是Unity提供的一组工具,用于创建2D和3D文本。与Unity的UI文本和Text Mesh系统相比,TextMesh Pro提供了更好的文本格式控制和布局管理功能。 本文介绍了TMP_Text组件和Tmp字体资产(如何创建字体资产和如何解决缺字问题),还有一些高级功…...

[论文阅读] (35)TIFS24 MEGR-APT:基于攻击表示学习的高效内存APT猎杀系统
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...