【2024_CUMCM】数据预处理、数据分析、数据可视化

目录

2023-c题-问题1

问题分析 

偏度

峰度

箱线图 

读图

重采样、降采样、升采样

重采样

降采样

升采样

解题代码


2023-c题-问题1

问题分析 

问题说白了就是探究品类和销售量这两个数据他们各自内在联系,根据题意,我们先进行

据预处理,按照以往的步骤是针对缺失值、重复值、异常值。我认为这道题应该是探究特殊

,需要思考到情境下的特殊情况和特殊数据,再进行处理。然后就可以开始数据分析,通

过函数引入数量、均值、最值、百分位数、偏度、峰度等描述统计量,并通过数据可视化

如热力图、箱线图、折线图、条形图、直方图更清晰探究其关联关系。 

偏度

偏度(Skewness)是用来度量随机变量概率分布的不对称性的统计量。它可以帮助我们了解数据分布的倾斜方向和程度

当偏度 < 0 时,概率分布图左偏;当偏度 = 0 时,表示数据相对均匀地分布在平均值两侧,不一定是绝对的对称分布;当偏度 > 0 时,概率分布图右偏。

峰度

峰度(Kurtosis)是用来度量随机变量概率分布的陡峭程度的统计量。它可以帮助我们了解数据分布的尖峭或平坦程度。峰度的计算公式为:

峰度的取值范围为 [1, +∞)。完全服从正态分布的数据的峰度值为 3。峰度值越大,概率分布图越高尖;峰度值越小,越矮胖

箱线图 

是显示一组数据分散情况资料的统计图。

读图

 从图中可以看出,南山区的房价最高,南山区、宝安区、福田区等的异常值很多,说明这些地区大部分房价高于均值。

重采样、降采样、升采样

相关参数 

重采样

重采样是时间序列频率转换的过程,可以理解为调整数据的时间分辨率。在Python的Pandas库中,`resample`函数用于执行重采样操作。

重采样可以将高频数据聚合到低频率(降采样),也可以将低频数据转换为高频率(升采样)

降采样

降采样是指从大量数据中选择一部分代表性样本的过程。

降采样是将高频数据转换为低频数据的过程。在降采样时,需要考虑`closedlabel`参数,它们分别决定了时间区间的闭合端点和聚合值的标签位置。

例如,如果想要将每天的数据聚合为每月的数据,可以使用resample('M')方法,其中'M'代表月度频率。

升采样

升采样是指增加数据集中样本数量的过程。

升采样是将低频数据转换为高频数据的过程。在升采样中,主要是通过数据插值来填补缺失的值

例如,如果想要将每年的数据转换为每月的数据,可以使用resample('M')方法,并配合适当的插值方法(如ffill)来填充缺失的月份数据。

解题代码

# %%
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# %%
category = pd.read_excel('2023年数学建模C\附件1.xlsx')

# %%
data= pd.read_excel('2023年数学建模C\附件2.xlsx')

# %%
category

# %%
merge_data=pd.merge(data,category,how='left',on='单品编码')

# %%
merge_data.info()
merge_data

# %%
# 删除某列中的某个值
merge_data=merge_data[merge_data['销售类型']!='退货']

# %%
merge_data.drop(['扫码销售时间'],axis=1,inplace=True)

# %%
merge_data.drop(['是否打折销售'],axis=1,inplace=True)

# %%
merge_data.drop(['销售类型'],axis=1,inplace=True)

# %%
merge_data

# %%
# 透视表
pivot_table = merge_data.pivot_table(index='销售日期', columns='分类名称', values='销量(千克)', aggfunc='sum')
pivot_table

# %%
pivot_table.describe()

# %%
# 计算偏度
pivot_table.skew()

# %%
# 计算峰度
pivot_table.kurt()

# %%
df=pivot_table.resample('3M').sum()
df

# %%
dff=df.corr()
dff

# %%
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False

plt.rcParams['font.size'] = 12
plt.rcParams['xtick.labelsize']=12
plt.rcParams['ytick.labelsize']=12
plt.rcParams['axes.labelsize']=12
plt.rcParams['axes.titlesize']=12

# %%
plt.figure(figsize=(10, 6))
# 热力图上显示系数
sns.heatmap(dff, cmap='coolwarm', square=True, annot=True)
# sns.heatmap(dff, cmap='coolwarm', fmt=".2f", linewidths=.5, square=True, cbar_kws={"shrink": .5})
plt.title('各分类名称之间的相关系数热力图')
plt.show()

# %%
pivot_table2= merge_data.pivot_table(index='销售日期', columns='单品名称', values='销量(千克)', aggfunc='sum')
pivot_table2.describe()

# %%
pivot_table2.info()

# %%
pivot_table2

# %%
df2=pivot_table2.resample('3M').sum()

# %%
df_d=df2.describe()
df_d

# %%
# 计算峰度与偏度
s1=df2.skew()
s2=df2.kurt()
s1
d1=dict(s1)
d2=dict(s2)

# %%
df2_skew=pd.DataFrame(d1,index=['skew'],columns=s1.index)
df2_kurt=pd.DataFrame(d2,index=['kurt'],columns=s2.index)
df2_skew

# %%
# 按行合并
df_d = pd.concat([df_d, df2_skew, df2_kurt], axis=0)
df_d

# %%
# 选取前六列
dfff2 = df_d.iloc[:, :6]

# %%
# 画出折线图
dfff2.plot(kind='line', figsize=(10,8 ))
plt.title('各单品名称销量(千克)')
plt.show()

# %%
plt.figure(figsize=(10, 8))
sns.heatmap(dfff2, cmap='coolwarm', square=True, annot=True)
plt.title('各单品名称之间的相关系数热力图')
plt.show()

# %%
df_dd=pivot_table2.describe()
df_dd

# %%
label_list =df_dd.columns
# 从数据框中选择第一行数据,并使用sort_values()函数对其进行排序,使其按降序排列。
num_list1 =df_dd.iloc[0].sort_values(ascending=False)
plt.bar(label_list,num_list1)
plt.ylabel("销售数量")
plt.xticks(label_list)
plt.xlabel("单品名称")
plt.title("某公司2012-2013年前6个月出货量")
plt.legend()
plt.show()

# %%
x = df_dd.iloc[0].sort_values(ascending=False)  				#数据集
plt.boxplot(x)    				#垂直显示箱线图
plt.show()						#显示该图

# %%

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器视觉:(1) 初识Roboflow(使用详解一)获取数据集(最新)

一&#xff1a;访问地址 [1] Roboflow官网&#xff1a;官网地址 [2]YOLOv8 项目地址github源码地址 [3]YOLOv8 官方教程官网教程地址 二&#xff1a;获取数据集步骤 1.访问官网地址&#xff1a;进入首页面&#xff0c;点击登录 2.注册过程省略了&#xff0c;按步骤走就可以…

01. 课程简介

1. 课程简介 本课程的核心内容可以分为三个部分&#xff0c;分别是需要理解记忆的计算机底层基础&#xff0c;后端通用组件以及需要不断编码练习的数据结构和算法。 计算机底层基础可以包含计算机网络、操作系统、编译原理、计算机组成原理&#xff0c;后两者在面试中出现的频…

【MySQL】mysqldumpslow工具 -- 总结慢查询日志文件

1. 作用 在平时使用MySQL数据库时&#xff0c;经常进行查询操作&#xff0c;有些查询语句执行的时间非常长&#xff0c;当执行时间超过设定的阈值时&#xff0c;我们称这个查询为慢查询&#xff0c;慢查询的相关信息通常需要用日志记录下来称为慢查询日志&#xff0c;mysqldum…

下载设计免抠元素,就上这6个网站,免费下载!

寻找免费PNG免抠素材网站是创意设计者们探索的重要一环。这些网站提供了丰富的PNG格式素材&#xff0c;去除了背景&#xff0c;方便在不同项目中使用。精心挑选了6个免费PNG免抠素材网站&#xff0c;它们提供了高品质的素材资源&#xff0c;无论是个人设计还是商业项目&#xf…

OpenCV漫水填充函数floodFill函数的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 功能描述 ffloodFill函数是OpenCV库中用于图像处理的一个功能&#xff0c;它用于填充与种子点颜色相近的连通区域。这个函数在很多场景下都非常有用&#x…

AutoHotKey自动热键(七)WINDOWS按键映射与鼠标映射(替换/组合)

该脚本支持简单的按键替换,可以针对某个窗口进行按键替换,还可以对鼠标和键盘进行互相替换,也可以用来禁用一些按键 键盘按键映射 普通按键映射 a::b这样子就直接在全局把所有的a键输入都映射成b键输出 上面这一行在执行过程中相当于拆解成下面两个,第一个是按下,第二个是弹…

【chatgpt消费者偏好】是什么驱动了游客持续旅游意愿?推文分享—2024-07-08

今天推文的主题是【chatgpt&消费者意愿】 第一篇&#xff1a;文章主要研究了什么因素驱动旅游者继续使用ChatGPT进行旅行服务&#xff0c;并从人类拟态的角度探讨了旅游者对ChatGPT的感知和使用意图。第二篇&#xff1a;本文探讨了ChatGPT-4在生成针对TripAdvisor上发布的…

Apache防盗链、网页压缩、网页缓存

目录 网页压缩 类型 示例 动态添加模块操作步骤 重装Apache操作步骤 网页缓存 示例 操作步骤 隐藏版本信息 操作步骤 Apache防盗链 定义 原理 配置防盗链实验环境 实验环境 本地图片盗链示例 操作步骤 防盗链示例 操作步骤 网页压缩 网站的访问速度是由多个…

Linux -- 认识 make/makefile

目录 前言&#xff1a; 什么是 make/makefile&#xff1f; 怎么使用 make/makefile&#xff1f; 依赖关系和依赖方法&#xff1a; 清理&#xff1a; 怎么使用 make&#xff1f; 如何编写多文件的 makefile&#xff1f; 什么是PHNOY&#xff1f; ACM时间 什么是AC…

苹果手机照片变jpg格式该怎么做?这三种不容错过

想知道苹果手机照片变JPG格式的方法吗&#xff1f;如果你的苹果手机系统属于IOS11&#xff0c;那么系统中保存的图片属于HEIC格式。HEIC格式是无法在IOS以外的windows、安卓系统中查看的。如果想要预览&#xff0c;我们需要借助HEIC图片格式转换工具将HEIC转换成兼容性更好的JP…

AI绘画 Stable Diffusion图像的脸部细节控制——采样器全解析

大家好&#xff0c;我是画画的小强 我们在运用AI绘画 Stable Diffusion 这一功能强大的AI绘图工具时&#xff0c;我们往往会发现自己对提示词的使用还不够充分。在这种情形下&#xff0c;我们应当如何调整自己的策略&#xff0c;以便更加精确、全面地塑造出理想的人物形象呢&a…

Python 神器:wxauto 库——解锁微信自动化的无限可能

&#x1f4dd;个人主页&#x1f339;&#xff1a;誓则盟约 ⏩收录专栏⏪&#xff1a;机器学习 &#x1f921;往期回顾&#x1f921;&#xff1a;“探索机器学习的多面世界&#xff1a;从理论到应用与未来展望” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f…

Mac的系统数据怎么删除 cleanmymac会乱删东西吗 cleanmymac有用吗

作为一款专业级的苹果电脑清理软件&#xff0c;CleanMyMac可以精准识别系统垃圾&#xff0c;有效防止Mac系统数据被误删。软件可以深入系统底层&#xff0c;清理无用的系统数据&#xff0c;优化苹果电脑设置&#xff0c;提升Mac系统性能。有关Mac的系统数据可以删吗&#xff0c…

电脑数据恢复篇:如何从电脑中恢复已删除的照片

按下 Shift Delete 后后悔了&#xff1f;想要恢复已删除的照片&#xff1f;好吧&#xff0c;如果是这样的话&#xff0c;你来对地方了。在本文中&#xff0c;我们将讨论如何从 PC 中恢复已删除的文件。 自从摄影的概念被提出以来&#xff0c;人们就对它着迷。以前&#xff0c…

NFS服务器、autofs自动挂载综合实验

综合实验 现有主机 node01 和 node02&#xff0c;完成如下需求&#xff1a; 1、在 node01 主机上提供 DNS 和 WEB 服务 2、dns 服务提供本实验所有主机名解析 3、web服务提供 www.rhce.com 虚拟主机 4、该虚拟主机的documentroot目录在 /nfs/rhce 目录 5、该目录由 node02 主机…

敏捷专家CSM认证培训内容概述(附2024年开班时间表)

敏捷专家CSM认证培训是专为希望在Scrum项目中担任Scrum Master角色的个人而设计的专业培训。CSM认证&#xff0c;全称Certified Scrum Master&#xff0c;是敏捷开发领域中备受认可的证书&#xff0c;由Scrum Alliance颁发。以下是对敏捷专家CSM认证培训的详细介绍&#xff1a;…

HNU-2024操作系统实验-Lab9-Shell

一、 实验目的 理解Shell程序的原理、底层逻辑和Shell依赖的数据结构等 在操作系统内核MiniEuler上实现一个可用的Shell程序 能够根据相关原理编写一条可用的Shell指令 二、 实验过程 首先从底层出发&#xff0c;实现Shell程序 1.在src/include目录下新建prt_shell.h头文…

Vue3 + Echarts堆叠折线图的tooltip不显示问题

问题介绍 使用Echarts在Vue3Vite项目中绘制堆叠折线图的的时候&#xff0c;tooltip总是不显示&#xff0c;经过很长时间的排查和修改&#xff0c;最后发现是在使用上有错误导致的。 错误图片展示 问题原因 由于Vue3底层使用proxy代理创建示例&#xff0c;使用其创建出来的实…

如何监控员工电脑行为?(其实不难,这种方法先码住!)

你的企业有没有面临以下几种问题&#xff1a; 这些问题&#xff0c;不仅影响企业员工的工作效率&#xff0c;更给企业数据带来不少的安全隐患。为了解决这些问题&#xff0c;很多企业采用监控员工电脑行为来解决当下的问题。 但我们需要注意的是&#xff0c;正确的监控不仅可以…

【Oracle】实验三 Oracle数据库的创建和管理

【实验目的】 掌握Oracle数据库的创建方法使用DBCA创建数据库在数据库中装入SCOTT用户及其表 【实验内容】 使用DBCA创建数据库&#xff0c;名为MYDB&#xff0c;找到其初始化文件(文本型和服务器型文件都要找到)&#xff0c;查看各类默认位置并记录下来(包括物理文件所在目…