【大数据】机器学习 -----关于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猎杀系统
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
