6.Pandas 数据可视化图-1

news2025/6/9 10:42:11

第三章 数据可视化


文章目录

目录

第三章 数据可视化

文章目录

前言

一、数据可视化

二、使用步骤

1.pyplot

1.1引入库

1.2  设置汉字字体

1.3 数据准备

1.4 设置索引列

​编辑

1.5  调用绘图函数

2.使用seaborn绘图

2.1 安装导入seaborn

2.2 设置背景风格

2.3 调用绘图方法

2.4 确认调整统计口径

2.5 通过hue等参数指定更多特征

2.6 优化边框、配色等

2.7 查看配色方案

2.8  优化子图排列

三、案例

3.1 案例数据介绍

3.2 理解字段含义和分析缺失情况

3.3 找出销量前五的国家和地区 哪个地区销售额最高?什么类别的商品销量最好? 其中有什么规律?

3.4 柱状图

3.5 气泡图展现大维度差距

3.5.1怎样绘制差距悬殊的数字

3.5.2 气泡图的绘制方法与细节

3.5.3 利用维度展示数据技巧

3.6 雷达图看整体对比,柱状图堆叠

任务:比较不同国家每类商品采购总额

3.6.1 catplot与多图表格对象

3.6.2 分组柱形图的绘制

3.6.3 使用Pandas绘制堆叠图

3.6.4 使用pygal绘制雷达图

3.7 箱型图分清上中下层

3.7.1 swarmplot(蜂群图)

3.7.2  箱型图的绘制与解读

3.7.3  异常点的概念和意义

3.7.4 使用whis参数调整估算区间

3.7.5 增强箱型,收拢异常值

3.7.6 增强箱型拆分的依据

总结



前言

图形查看数据更为直观清晰。


一、数据可视化

        数据可视化是指通过图表、图形、地图、仪表盘等视觉形式,将复杂的数据转化为直观易懂的信息,帮助人们快速理解数据中的模式、趋势、关系和异常。它是数据分析和沟通的重要工具,广泛应用于商业、科研、教育、媒体等领域。

二、使用步骤

1.pyplot

1.1引入库

代码如下(示例):

import pandas as pd
from IPython.core.pylabtools import figsize
from matplotlib import pyplot as plt

1.2  设置汉字字体

plt.rcParams['font.sans-serif'] = ['SimHei']   #避免中文乱码
plt.rcParams['axes.unicode_minus'] = False     #设定符号,避免出错

1.3 数据准备

df = pd.read_excel(r'D:\python学习\house2017.xlsx')
df

输出结果:

1.4 设置索引列

df.set_index('id', inplace=True)
df

1.5  调用绘图函数

plt.scatter(df['面积'],df['总价'])

2.使用seaborn绘图

2.1 安装导入seaborn

conda install seaborn

2.2 设置背景风格

seaborn自带风格:
暗底有网格 :          darkgrid
白底有网格 :          whitegrid
暗底无网格 :          dark
白底无网格 :           white
matplotlib默认:        ticks

import seaborn as sns
sns.set_style('white',{'font.sans-serif':['simhei','Arial']})   #设置风格为暗色网格,设置字体格式

2.3 调用绘图方法

sns.scatterplot(x=df['面积'],y=df['总价'])

2.4 确认调整统计口径

散点图

sns.scatterplot(x='面积',y='总价',data=df)

柱状图

sns.barplot(x='建筑结构',y = '总价',data=df)

2.5 通过hue等参数指定更多特征

sns.scatterplot(x='面积',y='总价',hue = '建筑类型',data=df)

2.6 优化边框、配色等

去掉轴线 despine left=True 删除左边,另一边 right=True offset=n 设置坐标轴偏移量

sns.scatterplot(x='面积',y='总价',hue = '建筑类型',data=df)
sns.despine()

sns.scatterplot(x='面积',y='总价',hue = '建筑类型',data=df)
sns.despine(offset=10)

2.7 查看配色方案

sns.color_palette() 
sg = sns.color_palette('Greens',10) #指定颜色和数量
sns.set_palette(sg)           #通过自定义调色板,改变显示的颜色

2.8  优化子图排列

matplotlib.subplots

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

# 假设这里已经有了正确的DataFrame对象df,包含'面积'、'总价'、'建筑类型'、'建筑结构'等列数据
# 创建子图布局,这里应该使用plt.subplots而不是plt.subplot,plt.subplots会返回画布fig和子图对象组成的元组
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(16, 4))

# 去除子图的边框(默认设置),这里可以根据需要调整参数来保留某些边框等
sns.despine()

# 在ax1子图上绘制散点图
sns.scatterplot(x='面积', y='总价', data=df, ax=ax1)
 
# 在ax2子图上绘制柱状图
sns.barplot(x='建筑类型', y='面积', data=df, ax=ax2)

# 在ax3子图上绘制柱状图
sns.barplot(x='建筑结构', y='面积', data=df, ax=ax3)

# 显示图形
plt.show()

三、案例

案例数据:superstore_dataset2011-2015 (超市数据集 2011-2015 年),这是一个常用于数据分析和可视化的公开数据集,通常包含某超市在 2011 年至 2015 年期间的销售记录。

3.1 案例数据介绍

import pandas as pd
df= pd.read_csv(r'D:\superstore_dataset2011-2015.csv')
df.head()

3.2 理解字段含义和分析缺失情况

df.info()

这些字段可以帮助我们从多个维度分析销售数据,包括时间趋势、地理分布、客户细分和产品表现等。

非空值比较接近,因此数据价值也就较高

3.3 找出销量前五的国家和地区 哪个地区销售额最高?什么类别的商品销量最好? 其中有什么规律?

1.提取相应的需分析的属性字段

data=df[ ['订单号','国家地区','商品门类','总额'] ]   #通过花式索引提取相关数据列
data

2.得到不重复的国家和地区

unique函数: 用于获取 Series 或 DataFrame 列中的唯一值,返回一个包含所有唯一值的数组。

isin函数:用于判断元素是否存在于指定的可迭代对象中,返回布尔型 Series 或 DataFrame。

区别与联系

  • unique()用于去重,返回唯一值列表
  • isin()用于筛选,返回布尔掩码
  • 常结合使用:先用unique()查看有哪些唯一值,再用isin()筛选特定值的行

国家地区数量:

len(data['国家地区'].unique())

商品门类数量:

len(data['商品门类'].unique())

3.属性规划分类,分为科技、办公、文化、家具等类

data['商品门类'].replace(["Advantus Light Bulb, Black"],'科技',inplace=True)
data

4.分组排名问题

属性字段的类型转换,原始数据大多为文本类型

data2['总额'] = data2['总额'].astype('float')
data2.groupby('国家地区')['总额'].sum()

5. 汇总结果排序sort_values()

data2.groupby('国家地区')['总额'].sum().sort_values(ascending=False)

6.切片取值

data2.groupby('国家地区')['总额'].sum().sort_values(ascending=False)[:5]

data2.groupby('国家地区')['总额'].sum().sort_values(ascending=False)[-6:-1]

7. 取出销售前五的国家详细数据 Series.isin()

data2[data2['国家地区'].isin(['United States','Australia','France','China','Germany'])]

3.4 柱状图

以销售前五的国家为例

1.指定柱形图的统计口径

指定误差线 ci参数:指定为浮点数:显示误差线并表示置信区间,大小由该浮点数确定;指定为”sd“:显示误差线并表示标准离差;指定为None:不显示误差线¶

palette='spring',(输入一个不存在的可以看全部)选择颜色面板,alpha透明度设置

import seaborn as sns
sns.set_style('whitegrid',{'font.sans-serif':['Simhei','Arial']})
sns.barplot(x='

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

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

相关文章

软件功能测试报告都包含哪些内容?

软件功能测试报告是软件开发生命周期中的重要文档,主要涵盖以下关键内容:    1.测试概况:概述测试目标、范围和方法,确保读者对测试背景有清晰了解。 2.测试环境:详细描述测试所用的硬件、软件环境,确保…

在Vue或React项目中使用Tailwind CSS实现暗黑模式切换:从系统适配到手动控制

在现代Web开发中,暗黑模式(Dark Mode)已成为提升用户体验的重要功能。本文将带你使用Tailwind CSS在React项目(Vue项目类似)中实现两种暗黑模式控制方式: 系统自动适配 - 根据用户设备偏好自动切换手动切换 - 通过按钮让用户自由选择 一、项目准备 使…

Linux--命令行参数和环境变量

1.命令行参数 Linux 命令行参数基础 1.1参数格式 位置参数:无符号,按顺序传递(如 ls /home/user 中 /home/user 是位置参数) 选项参数: 短选项:以 - 开头,单个字母(如 -l 表示长格…

springboot线上教学平台

摘要:在社会快速发展的影响下,使线上教学平台的管理和运营比过去十年更加理性化。依照这一现实为基础,设计一个快捷而又方便的网上线上教学平台系统是一项十分重要并且有价值的事情。对于传统的线上教学平台控制模型来说,网上线上…

mariadb5.5.56在centos7.6环境安装

mariadb5.5.56在centos7.6环境安装 1 下载安装包 https://mariadb.org/mariadb/all-releases/#5-5 2 上传安装包的服务器 mariadb-5.5.56-linux-systemd-x86_64.tar.gz 3 解压安装包 tar -zxvf mariadb-5.5.56-linux-systemd-x86_64.tar.gz mv mariadb-5.5.56-linux-syst…

打造你的 Android 图像编辑器:深入解析 PhotoEditor 开源库

📸 什么是 PhotoEditor? PhotoEditor 是一个专为 Android 平台设计的开源图像编辑库,旨在为开发者提供简单易用的图像编辑功能。它支持绘图、添加文本、应用滤镜、插入表情符号和贴纸等功能,类似于 Instagram 的编辑体验。该库采…

Azure 虚拟机端口资源:专用 IP 和公共 IP Azure Machine Learning 计算实例BUG

## 报错无解 找不到Azure ML 计算实例关联的 NSG .env 文件和 ufw status: .env 文件中 EXPOSE_NGINX_PORT8080 是正确的,它告诉 docker-compose.yaml 将 Nginx 暴露在宿主机的 8080 端口。 sudo ufw status 显示 Status: inactive,意味着宿…

Java核心技术-卷I-读书笔记(第十二版)

第一章 Java程序设计概述 09年sun被oracle收购->11年java7(简单改进)->14年java8(函数式编程)->2017年java9->2018年java11->2021年java17 第二章 Java编程环境 Java9后新增JShell,提供类似脚本试执…

MATLAB遍历生成20到1000个节点的无线通信网络拓扑推理数据

功能: 遍历生成20到1000个节点的无线通信网络拓扑推理数据,包括网络拓扑和每个节点发射的电磁信号,采样率1MHz/3000,信号时长5.7s,单帧数据波形为实采 数据生成效果: 拓扑及空间位置: 节点电磁…

卫星接收天线G/T值怎么计算?附G/T计算excel表格链接

我们在进行无线通信链路设计时,都会涉及接收天线最重要的参数G/T。今天,咱们就来聊聊G/T值该怎么计算,计算过程中有哪些需要留意的地方,以及当你看到产品说明书中标注了G/T指标,还需要进一步了解哪些信息。 G/T的含义 …

基于dify的营养分析工作流:3分钟生成个人营养分析报告

你去医院做体检,需要多久拿到体检报告呢?医院会为每位病人做一份多维度的健康报告吗?"人工报告需1小时/份?数据误差率高达35%?传统工具无法个性化? Dify工作流AI模型的组合拳,正在重塑健康…

新成果:GaN基VCSEL动态物理模型开发

作为高速数据传输与光电信号处理的核心器件,垂直腔面发射激光器(VCSEL)在高速光通信、激光雷达等领域应用广泛,其动态特性直接关联器件调制速率及稳定性等关键参数。近期,天津赛米卡尔科技有限公司技术团队开发了GaN基…

Appium+python自动化(十一)- 元素定位- 下

1、 List定位 List顾名思义就是一个列表,在python里面也有list这一个说法,如果你不是很理解什么是list,这里暂且理解为一个数组或者说一个集合。首先一个list是一个集合,那么他的个数也就成了不确定性,所以这里需要用复…

免费批量PDF转Word工具

免费批量PDF转Word工具 工具简介 这是一款简单易用的批量PDF转Word工具,支持: 批量转换多个PDF文件保留原始格式和布局快速高效的转换速度完全免费使用 工具地址 下载链接 网盘下载地址:点击下载 提取码:8888 功能特点 ✅…

Mac/iOS 如何解压 RAR 格式压缩包:常用工具与详细操作步骤

一、Mac 系统解压 RAR 文件之法 Mac 系统上解压 RAR 文件有多种方法,除了系统自带的一些简单功能外,还可以借助特定的软件来实现高效解压。以下将介绍几款常用工具的解压操作。 (一)解压专家解压步骤 解压专家 是一款在 Mac 和 …

机器学习监督学习实战四:九种回归算法对波士顿房价数据进行回归预测和评估方法可视化

本项目代码在个人github链接:https://github.com/KLWU07/Machine-learning-Project-practice/tree/main 处理流程 1.导入波士顿房价数据集并进行预处理。2.使用 GradientBoostingRegressor 模型进行回归分析。3.通过交叉验证评估模型的性能,计算 MAE、…

微软重磅发布Magentic UI,交互式AI Agent助手实测!

微软重磅发布Magentic UI,交互式AI Agent助手实测! 何为Magentic UI? Magentic UI 是微软于5.19重磅发布的开源Agent助手,并于24日刚更新了第二个版本0.04版 从官方的介绍来看,目标是打造一款 以人为中心 的智能助手,其底层由多个不同的智能体系统驱动,能够实现网页浏览…

老年生活照护实训室建设规划:照护质量评估与持续改进实训体系

随着人口老龄化程度的不断加深,老年生活照护需求日益增长,对专业照护人才的培养提出了更高要求。老年生活照护实训室建设方案作为培养高素质照护人才的重要载体,其核心在于构建科学完善的照护质量评估与持续改进实训体系。通过该体系的建设&a…

【python深度学习】Day 48 PyTorch基本数据类型与操作

知识点: 随机张量的生成:torch.randn函数卷积和池化的计算公式(可以不掌握,模型会自动计算的)pytorch的广播机制:加法和乘法的广播机制 ps:numpy运算也有类似的广播机制,基本一致 作…

【大模型】【推荐系统】LLM在推荐系统中的应用价值

文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点B.4 两大推荐方法 C 模型结构C.1 知识蒸馏(训练过程)C.2 轻量推理(部署过程) D 实验设计E 个人总结 A 论文出处 论文题目:SLMRec:Distilling…