当前位置: 首页 > news >正文

2022高教社杯全国大学生数学建模竞赛C题 问题一(1) Python代码演示

目录

  • 问题 1
    • 1.1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析
      • 数据探索 -- 单个分类变量的绘图
        • 树形图
        • 条形图
        • 扇形图
        • 雷达图
      • Cramer’s V 相关分析
      • 统计检验
        • 列联表分析
        • 卡方检验
        • Fisher检验
      • 绘图
        • 堆积条形图
        • 分组条形图
      • 分类模型
        • Logistic回归
        • 随机森林

import matplotlib.pyplot as plt
# Linux show Chinese characters *** important
plt.rcParams['font.family'] = 'WenQuanYi Micro Hei' import warnings
warnings.filterwarnings("ignore")
import pandas as pd# read by default 1st sheet of an excel file
path = '/home/shiyu/Desktop/path_acdemic/ant/数模/历年题目/2022/附件.xlsx'
d1 = pd.read_excel(path, sheet_name='表单1')
d2 = pd.read_excel(path, sheet_name='表单2')
d3 = pd.read_excel(path, sheet_name='表单3')print(d1.shape)
print(d2.shape)
print(d3.shape)
(58, 5)
(69, 15)
(8, 16)

问题 1

1.1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析

数据探索 – 单个分类变量的绘图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

树形图

https://www.geeksforgeeks.org/treemaps-in-python-using-squarify/

import seaborn as sb 
import matplotlib.pyplot as plt
import squarifydata = list(d1['颜色'].value_counts())
labels = list(d1['颜色'].value_counts().index)plt.rcParams['figure.dpi'] = 300
plt.rcParams['savefig.dpi'] = 300plt.figure(figsize=(15,8))
squarify.plot(sizes=data, label=labels, text_kwargs={'fontsize': 20},color=sb.color_palette("Spectral",len(data))) plt.axis("off") 
(0.0, 100.0, 0.0, 100.0)

在这里插入图片描述

条形图
df = pd.DataFrame(d1['颜色'].value_counts())
df['颜色'] = df.index
df
count颜色
颜色
浅蓝20浅蓝
蓝绿15蓝绿
深绿7深绿
4
浅绿3浅绿
深蓝2深蓝
2
绿1绿
import matplotlib.pyplot as plt
import plotly.express as px
import numpy as np# Linux show Chinese characters *** important
plt.rcParams['font.family'] = 'WenQuanYi Micro Hei' fig = px.bar(df, x="颜色", y="count", title="颜色类别计数")
# center title
fig.update_layout(title_x=0.5)
# remove background color
fig.update_layout({
'plot_bgcolor': 'rgba(0, 0, 0, 0)',
'paper_bgcolor': 'rgba(0, 0, 0, 0)',
})fig.show()

在这里插入图片描述

扇形图
print(d1['纹饰'].value_counts())
纹饰
C    30
A    22
B     6
Name: count, dtype: int64
import plotly.express as px
fig = px.pie(d1, names='纹饰', title="玻璃纹饰类别的比例分布")
# center title
fig.update_layout(title_x=0.5)
fig.show()

在这里插入图片描述

print(d1['类型'].value_counts())
fig = px.pie(d1, names='类型', title="玻璃类型的比例分布")
# center title
fig.update_layout(title_x=0.5)
fig.show()
类型
铅钡    40
高钾    18
Name: count, dtype: int64

在这里插入图片描述

print(d1['颜色'].value_counts
http://www.lryc.cn/news/439781.html

相关文章:

  • Qt QSerialPort数据发送和接收DataComm
  • macOS上谷歌浏览器的十大隐藏功能
  • 【C++篇】C++类与对象深度解析(二):类的默认成员函数详解
  • Linux2-mkdir,touch,cat,more
  • AI 时代程序员的应变之道
  • SQL编程题复习(24/9/16)
  • 运维工程师面试整理-操作系统
  • Linux搭建邮箱服务器(简易版)
  • 基于SSM的社区爱心捐赠管理系统
  • 鸿蒙next web组件和h5 交互实战来了
  • 甘特图介绍
  • 第十一章 【后端】商品分类管理微服务(11.1)——创建父工程
  • c语言中的“二级指针”与“指针数组”
  • IDA f5 无法生成伪代码 too big function 的原因之一以及解决方法
  • OpenCV-上下采样
  • pip install、yum install和conda install三者技术区分
  • 【C++指南】作用域限定符 :: 使用详解
  • 项目实训:CSS基本布局理解——WEB开发系列38
  • springBoot整合easyexcel实现导入、导出功能
  • 代码随想录训练营第35天|逆序背包
  • Centos7环境下Hive的安装
  • ??Ansible——ad-hoc
  • 清理Go/Rust编译时产生的缓存
  • 【linux】 ls命令
  • STM32的寄存器深度解析
  • win11 运行vmware workstation 虚拟机很卡,解决办法
  • C语言 | Leetcode C语言题解之第404题左叶子之和
  • jeesite支持db2数据库初始化sql
  • 微信小程序页面制作——婚礼邀请函(含代码)
  • 股票量化接口api,国内股票期权怎么交易