数据可视化训练第6天(美国人口调查获得关于收入与教育背景的数据,并且可视化)
数据来源
https://archive.ics.uci.edu/dataset/2/adult
过程
首先;关于教育背景的部分翻译有问题。
本次使用字典嵌套记录数据,并且通过lambda在sorted内部进行对某个字典的排序,最后用plotly进行绘图
本次提取数据的时候,用到了array的布尔型数组,这是比较方便的一种做法
import numpy as np
import matplotlib.pyplot as plt
from plotly.graph_objs import Bar,Layout
from plotly import offlinefilename='/Users/oommnn/Desktop/学习笔记/数据可视化30天项目/adult.csv'
change_educations=['学士','大专','11年级','研究生','教授','副学士','副学士','9年级','7 -8年级','12年级','硕士','1 -4年级','10年级','博士','5 -6年级','学前']
educations=[' Bachelors', ' Some-college', ' 11th', ' HS-grad', ' Prof-school',' Assoc-acdm', ' Assoc-voc', ' 9th', ' 7th-8th', ' 12th', ' Masters', ' 1st-4th', ' 10th', ' Doctorate', ' 5th-6th', ' Preschool']#生成结果字典
results={}
for education in change_educations:results[education]={'sum':0,'sum_over_50k':0,'ratio':0.0}user_info=np.dtype([('education','U20'),('income','U10')])
data=np.loadtxt(filename,delimiter=',',dtype=user_info,usecols=(3,14))#替换数据
i=0
for education in educations:flag=(data['education']==education)data['education'][flag]=change_educations[i]i=i+1#获得总数和超过50k的数据
for education in change_educations:isedu=data['education']==education#记录每个学位的总人数results[education]['sum']=len(data['education'][isedu])#获得超过50k的该学位的布尔数组isrel=data[isedu]['income']==' >50K'results[education]['sum_over_50k']=len(data[isedu][isrel])results[education]['ratio']=results[education]['sum_over_50k']/results[education]['sum']#key=lambda item: item[1] 是Python中用于排序或过滤列表的一个常见表达式。
#这里的 lambda 创建了一个匿名函数,它接受一个参数 item(假设是一个元组或其他可迭代对象),然后返回 item 的第二个元素,即 item[1]。
#返回的是列表的元组;按照item进行排序
sorted_items_by_values = sorted(results.items(), key=lambda item: item[1]['ratio'],reverse=True)
sorted_dict_by_values = dict(sorted_items_by_values)
#print(sorted_items_by_values)#获得x,y和hovertext的值
x_values=list(sorted_dict_by_values.keys())
y_values=list(sorted_dict_by_values[key]['ratio'] for key in sorted_dict_by_values.keys())
hovertext_values=list(f"总数:{sorted_dict_by_values[key]['sum']}" for key in sorted_dict_by_values.keys())#可视化;并且鼠标显示总人数标签
data=[{'type':'bar','x':x_values,'y':y_values,'hovertext':hovertext_values
}]mylayout={'title':'教育背景与收入超过50k统计','xaxis':{'title':'教育背景',},'yaxis':{'title':'超过50k的人数/总人数'}}
fig={'data':data,'layout':mylayout}
offline.plot(fig,filename='adult.html')

相关文章:
数据可视化训练第6天(美国人口调查获得关于收入与教育背景的数据,并且可视化)
数据来源 https://archive.ics.uci.edu/dataset/2/adult 过程 首先;关于教育背景的部分翻译有问题。 本次使用字典嵌套记录数据,并且通过lambda在sorted内部进行对某个字典的排序,最后用plotly进行绘图 本次提取数据的时候,用到…...
如何更换远程服务器的Python版本
目录 前言 正文 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ningbo China📫 You can reach me by url below:My Blo…...
Python 运筹优化13 Thompson Sampling 解读
说明 这部分应该是Multi-Armed Bandit的最后一部分了。 内容 1 On Line Ads 这个实验,最初的目的就是为了选出最佳的广告。首先,通过伯努利分布,模拟了某个广告的有效率。在真实场景里,我们是无法知道那个广告更好的。可能在t…...
计算机毕业设计 | SpringBoot健身房管理系统(附源码)
1,项目背景 随着人们生活水平的提高和健康意识的增强,健身行业逐渐兴起并迅速发展。而现代化的健身房管理系统已经成为健身房发展的必备工具之一。传统的健身房管理方式已经无法满足现代化健身房的需求,需要一种更加高效、智能、安全的管理系…...
大模型LLM 结合联网搜索增强isou
参考: https://github.com/yokingma/search_with_ai 在线使用网址: https://isou.chat/ 安装github下载,运行docker compose 如果一直报下面错误: 解决方法https://github.com/yokingma/search_with_ai/pull/7 默认打开&a…...
软删除和硬删除的区别及实际应用
在处理数据存储时,删除操作是不可避免的一部分。然而,并非所有的删除都是相同的。在本篇博客中,我们将探讨软删除(Soft Delete)和硬删除(Hard Delete)的概念、它们之间的区别,以及如…...
算法加密-简介
前言 在遥远的古代,信息的传递至关重要。战争时期,将领们需要确保自己的作战计划不被敌人知晓。 有一次,一位聪明的将军想要给远方的盟友传递一份机密战略部署。他想到了一个办法,用一种特殊的符号来替代文字。他和盟友事先约定好…...
搞懂Docker(九)- 使用Docker Compose
获取示例程序 示例程序 或者 示例程序 获取示例程序程序结构如下├── getting-started-app/ │ ├── package.json │ ├── README.md │ ├── spec/ │ ├── src/ │ └── yarn.lock使用Docker Compose Docker Compose是一个帮助你定义和共享多容器应用程序的工具…...
EOCRSP-40NM7施耐德电机保护器EOCR-SP
韩国三和EOCRSP-40NM7 40A AC220V电动机保护器 密集型设计 ■ 电子式多保护功能 ■ 宽的电流调整范围(10:1) ■ 电流表功能 ■ LED跳闸指示 ■ 高精度 ■ 手动即时复位 ■ 电动远距离复位 ■ 自检功能 ■ 强的环境适应性 ■ 低能耗 ■ 失效-安全工作方式(无电压释放) 韩国三和…...
一文带你快速了解GPT-4o!内含免费使用指南!
一、GPT-4o简介 北京时间5月14日,OpenAI举行春季发布会。OpenAI在活动中发布了新旗舰模型“GPT-4o”!据OpenAI首席技术官穆里穆拉蒂(Muri Murati)介绍,GPT-4o在继承GPT-4强大智能的同时,进一步提升了文本、…...
react18【系列实用教程】useState (2024最新版)
类似 vue 的 data 选项 功能 向组件添加响应式变量,当响应式变量变化时,组件的视图UI也会跟着变化【数据驱动视图】 语法 参数为变量的初始值返回值为一个只有两个元素的数组,第一项元素为传入的参数,第二项元素是一个setter 函数…...
电商选品的数据是可以用爬虫进行采集的吗?
在电子商务领域,选品是一个至关重要的环节,它直接影响到商家的销售业绩和市场竞争力。为了做出更明智的选品决策,商家需要获取大量的市场数据和产品信息。那么,电商选品的数据是否可以通过爬虫进行采集呢? 爬虫在电商数…...
数据特征降维 | 局部线性嵌入(LLE)
局部线性嵌入(Locally Linear Embedding,LLE)是一种非线性降维和数据嵌入技术,用于将高维数据映射到低维空间中,以便更好地展示数据的结构和关系。 LLE的基本思想是假设数据样本在局部区域内可以近似由其相邻样本的线性组合表示。通过保持这种局部线性关系,LLE能够在低维…...
js发票查验、票据OCR接口助力解决发票录入与真假辨别难题
作为消费者,每位都是税法的监督员,为了保护自己的合法权益、共同维护市场秩序,消费者进行实际交易后无论是否需要报销,都应该主动向商家索取发票。一般来说发票主要有三种:增值税专用发票、普通发票、专业发票。以下&a…...
HTML静态网页成品作业(HTML+CSS+JS)——华为商城网页(1个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,使用Javacsript代码实现首页图片切换轮播效果,共有1个页面…...
【吃透Java手写】5-RPC-简易版
【吃透Java手写】RPC-简易版-源码解析 1 RPC1.1 RPC概念1.2 常用RPC技术或框架1.3 初始工程1.3.1 Productor-common:HelloService1.3.2 Productor:HelloServiceImpl1.3.3 Consumer 2 模拟RPC2.1 Productor2.2 模拟一个RPC框架2.2.1 HttpServer2.2.2 Http…...
express 本地https服务 接口、静态文件,并支持跨域
var express require(express); var app express(); //设置跨域访问 app.all(*, function (req, res, next) {res.header(Access-Control-Allow-Origin, *);res.header(Access-Control-Allow-Credentials, true);res.header(Access-Control-Allow-Headers, Content-Type,Cont…...
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
创作缘由 平时使用 tomcat 等 web 服务器不可谓不多,但是一直一知半解。 于是想着自己实现一个简单版本,学习一下 tomcat 的精髓。 系列教程 从零手写实现 apache Tomcat-01-入门介绍 从零手写实现 apache Tomcat-02-web.xml 入门详细介绍 从零手写…...
yarn 安装以及报错处理
前一种报错是由于没有安装yarn导致的,使用以下命令即可安装: npm install -g yarn 如果成功安装,将显示Yarn的版本号。 yarn --version 第二种报错是因为系统上的执行策略限制导致的。执行策略是一种安全功能,用于控制在计算机…...
31万奖金池等你挑战!IJCAI 2024 第九届“信也科技杯”全球AI算法大赛正式开赛!聚焦AI尖端赛题!
文章目录 ⭐️ 赛事概况⭐️ 赛事奖励⭐️ 赛事日程速览⭐️ 报名通道与赛事交流群⭐️ 关于 “信也科技杯”⭐️ 关于信也科技 ⭐️ 赛事概况 随着语音合成技术的不断进步,合成语音与真实语音之间的界限变得模糊,这不仅对数据安全构成威胁,也对科技伦理提出了新的要求。 第九…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
