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

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 squarify
    
data = list(d1['颜色'].value_counts())
labels = list(d1['颜色'].value_counts().index)

plt.rcParams['figure.dpi'] = 300
plt.rcParams['savefig.dpi'] = 300

plt.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.kler.cn/news/307389.html

相关文章:

  • 基于python+django+vue的鲜花商城系统
  • C++ 类域+类的对象大小
  • 链动321模式开发系统解析源码
  • 电子连接器温升仿真教程 一
  • Linux per memcg lru lock
  • Spring Boot-缓存问题
  • k8s 容忍和污点
  • 晶源微电源IC型号表
  • ArcGIS Pro SDK (十四)地图探索 2 地图图层
  • 集群聊天服务器项目【C++】(五)网络模块和业务模块
  • FloodFill(洪水灌溉)算法专题——DFS深搜篇
  • 合宙Air201资产定位模组LuatOS入门课程:FOTA远程升级,点点鼠标就搞定
  • 初识爬虫4
  • 云曦2024秋季学期开学考复现
  • 【FreeRTOS】任务
  • 项目实现:云备份②(文件操作、Json等工具类的实现)
  • 每日一题——第九十二题
  • Unity Apple Vision Pro 开发(九):空间锚点
  • cJSON-轻量级解析模块、字符串的神——编织STM32C8T6与阿里云信息传递的纽带
  • MAVEN如何导入项目
  • [Web安全 网络安全]-文件读取与下载漏洞
  • Vue、React 生命周期有哪些?页面数据获取放在哪个生命周期做比较好?
  • JAVA语言之Solr的工作原理以及如何管理索引库
  • 【爬虫软件】批量采集抖音主页已发布作品
  • 从零开始学习Linux(12)---进程间通信(信号量与信号)
  • 即插即用!高德西交的PriorDrive:统一的矢量先验地图编码,辅助无图自动驾驶
  • PHP环境搭建详细教程
  • 基于kolla-ansible在openEuler 22.03 SP4上部署OpenStack-2023.2
  • 二叉树和堆概念
  • C++ 科目二 智能指针 [weak_ptr] (解决shared_ptr的循环引用问题)