2022高教社杯数学建模国赛C题思路代码实现

这篇具有很好参考价值的文章主要介绍了2022高教社杯数学建模国赛C题思路代码实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.比赛报名与思路解析(持续更新750967193)

2.比赛时间:2022年9月15日18点到2022年9月18日20点

如下为C题思路的配套代码:

首先导入表单:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False

df_表单1 = pd.read_excel('附件.xlsx', sheet_name='表单1')
df_表单2 = pd.read_excel('附件.xlsx', sheet_name='表单2')
df_表单3 = pd.read_excel('附件.xlsx', sheet_name='表单3')

画出各个属性占比图

fig=plt.figure(figsize=(10,10))
i=1
for column in df_表单1.columns[1:]:
    data ={elem:np.sum(df_表单1[column]==elem) for elem in df_表单1[column].unique()}
    ax=fig.add_subplot(2,2,i)
    i+=1
    ax.pie(data.values(), labels=data.keys(), autopct='%1.2lf%%', pctdistance=0.5)
    ax.set_title(column+'占比图')
plt.savefig('各属性数量占比图.png')
plt.show()

大学生数学建模竞赛2022c题代码,python,pandas,数学建模

可以对数据采用如下方式处理:

  1. 空白处表示未检测到该成分,即该成分的含量为0,所以对于表单2中所用的控制用0进行填充;
  2. 对于‘文物采样点’进行分开处理,分开为‘文物编号’,采样点;
  3. 将成分之和不在区间[85,105]范围内的删除;
  4. 各成分含量之和应为100%,但因检测手段等原因加和并非100%,所以对各成分进行归一化处理,使其成分含量和为100%
df_表单2 = pd.read_excel('附件.xlsx', sheet_name='表单2')
df_表单2['采样点']=df_表单2['文物采样点'].apply(lambda x:x[2:])
df_表单2['文物编号']=df_表单2['文物采样点'].apply(lambda x:x[:2])
df_表单2=df_表单2.fillna(0)
print(df_表单2.shape)
df_表单2['总含量']=df_表单2[df_表单2.columns[1:15]].sum(axis=1)
index = df_表单2[df_表单2['总含量']<85].index
df_表单2=df_表单2.drop(index=index)
print(df_表单2.shape)
index = df_表单2[df_表单2['总含量']>105].index
df_表单2=df_表单2.drop(index=index)
print(df_表单2.shape)
for column in df_表单2.columns[1:15]:
    df_表单2[column]=df_表单2[column]/df_表单2['总含量']*100
df_表单2.head()

然后合并1、2表单:

df_表单1['文物编号']=df_表单1['文物编号'].astype('str')
df_表单1['文物编号']=df_表单1['文物编号'].apply(lambda x:'0'*(2-len(x))+x)
df_表单1.index=df_表单1['文物编号']
columns = ['纹饰', '类型', '颜色', '表面风化']
df_表单2[columns]=''
for i in df_表单2.index:
    index = df_表单2['文物编号'][i]
    for column in columns:
        df_表单2.loc[i,column]=df_表单1[column][index]
df_表单2['颜色'].unique()
dic = {'风化':1,'无风化':0,
       'A':1,'C':0,  # 这里未对B进行转换,不过在apriori的地方使用的是汉字不影响,后续也没有使用
       '高钾':1,'铅钡':0,  
      '蓝绿':0, '浅蓝':1, '紫':2, '深绿':3, '深蓝':4, '浅绿':5, '黑':6, '绿':7}
df_表单2['是否风化']=df_表单2['表面风化'].apply(lambda x:dic.get(x))
df_表单2['类型是否高钾']=df_表单2['类型'].apply(lambda x:dic.get(x))
df_表单2['纹饰A']=df_表单2['纹饰'].apply(lambda x:dic.get(x))
df_表单2['颜色编号']=df_表单2['颜色'].apply(lambda x:dic.get(x))
columns = ['文物编号','采样点','是否风化','类型是否高钾','纹饰A','颜色编号']
columns.extend(df_表单2.columns[1:15])
df = df_表单2[columns]
df.to_excel('表单1-2合并.xlsx')
df

得到完整的合并表单:

大学生数学建模竞赛2022c题代码,python,pandas,数学建模

各成分占比:

plt.figure(figsize=(10,10))
data = df[df.columns[5:]].mean()
print(data[data<=1].index)
value = list(data[data>1].values)+[sum(data[data<=1].values)]
labels = list(data[data>1].index)+['其他']
plt.pie(value, labels=labels, autopct='%1.2lf%%')
plt.savefig('各成分平均占比图.png')
plt.show()

大学生数学建模竞赛2022c题代码,python,pandas,数学建模

df1 = df[df['类型是否高钾']==1]
plt.figure(figsize=(10,10))
data = df1[df1.columns[5:]].mean()
print(data[data<=1].index)
value = list(data[data>1].values)+[sum(data[data<=1].values)]
labels = list(data[data>1].index)+['其他']
plt.pie(value, labels=labels, autopct='%1.2lf%%')
plt.savefig('类型为高钾的成分占比图.png')
plt.show()

此图为:类型为高钾的成分占比图

大学生数学建模竞赛2022c题代码,python,pandas,数学建模

画出热力图:

sns.heatmap(df[df.columns[1:5]].corr())
plt.savefig('风化,纹饰,颜色,类型相关性热力图.png')
plt.show()

大学生数学建模竞赛2022c题代码,python,pandas,数学建模

所有属性热力图

大学生数学建模竞赛2022c题代码,python,pandas,数学建模

以上仅为部分数据预处理内容,第二问小部分内容摘选:

df['亚类']=''
高钾亚类 = ['高钾亚类'+str(i) for i in 高钾kmeans[1]]
铅钡亚类 = ['铅钡亚类'+str(i) for i in 铅钡kmeans[1]]
df.loc[高钾_df.index,'亚类']=高钾亚类
df.loc[铅钡_df.index,'亚类']=铅钡亚类
df.to_excel('所有文物分别按亚类分类表.xlsx')

大学生数学建模竞赛2022c题代码,python,pandas,数学建模

以上仅为部分数据预处理内容和摘选的第二问的小部分内容文章来源地址https://www.toymoban.com/news/detail-595706.html

到了这里,关于2022高教社杯数学建模国赛C题思路代码实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 2023国赛数学建模E题思路模型代码 高教社杯

    2023国赛数学建模E题思路模型代码 高教社杯

    本次比赛我们将会全程更新思路模型及代码, 大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社_的博客-CSDN博客 我

    2024年02月11日
    浏览(10)
  • 2023国赛数学建模C题思路模型代码 高教社杯

    C题代码全部都完成了,可以看文末名片 我们先看C题的一个背景 在生鲜商超中,蔬菜类商品保鲜期短,且品相会随销售时间增加而变差。商超需要根据历史销售和需求每天进行补货。由于蔬菜品种众多、产地不同,补货时间在凌晨,商家须在不明确具体单品和价格的情况下进行补

    2024年02月11日
    浏览(11)
  • 2023国赛数学建模D题思路模型代码 高教社杯

    2023国赛数学建模D题思路模型代码 高教社杯

    本次比赛我们将会全程更新思路模型及代码, 大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社_的博客-CSDN博客 我

    2024年02月09日
    浏览(15)
  • 2023国赛 高教社杯数学建模ABCDE题思路汇总分析

    2023国赛 高教社杯数学建模ABCDE题思路汇总分析

    (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?type=blog 全国大学生数学建模竞赛(以下简称竞赛)是中国工业与应用数学学会主办的面向全国大学生 的群众性科技活动,旨在激励学生学习数学的积极性,提高学生建立数学模型和运用计算机技术解 决实际问题的

    2024年02月13日
    浏览(13)
  • 2023国赛数学建模A题思路模型代码汇总 高教社杯

    2023国赛数学建模A题思路模型代码汇总 高教社杯

    本次比赛我们将会全程更新思路模型及代码, 大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社_的博客-CSDN博客 我

    2024年02月11日
    浏览(24)
  • 2023高教社杯数学建模国赛A题思路解析+代码+论文

    下文包含:2023高教社杯数学建模国赛A题思路解析+代码+参考论文等及如何准备数学建模竞赛(7号比赛开始后逐步更新) C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料,帮助大家取得好成绩。2023高教社杯数学建模国赛于9月

    2024年02月09日
    浏览(9)
  • 2023高教社杯数学建模国赛B题思路解析+代码+论文

    下文包含:2023高教社杯数学建模国赛B题思路解析+代码+参考论文等及如何准备数学建模竞赛(7号比赛开始后逐步更新) C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料,帮助大家取得好成绩。2023高教社杯数学建模国赛于9月

    2024年02月10日
    浏览(19)
  • 2023高教社杯数学建模国赛C题思路解析+代码+论文

    2023高教社杯数学建模国赛C题思路解析+代码+论文

    如下为C君的2023高教社杯全国大学生数学建模竞赛C题思路分析+代码+论文 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且 品相随销售时间的增加而变差 , 大部分品种如 当日未售出,隔日就无法再售 。因此,商超通常会根据各商品的历史销售和需求情况每天进行 补货

    2024年02月09日
    浏览(12)
  • 2023年高教社杯数学建模国赛C题详细版思路

    2023年高教社杯数学建模国赛C题详细版思路

    C   题 蔬菜类商品的自动定价与补货决策 2023年国赛如期而至,为了方便大家尽快确定选题,这里将对C题进行解题思路说明,以分析C题的主要难点、出题思路以及选择之后可能遇到的难点进行说明,方便大家尽快找到C题的解题思路。 难度排序  BAC 选题人数  CAB  (预估结果

    2024年02月09日
    浏览(10)
  • 2023 数学建模高教社杯 国赛(D题)养殖场经营||建模秘籍&文章代码思路大全

    2023 数学建模高教社杯 国赛(D题)养殖场经营||建模秘籍&文章代码思路大全

    铛铛!小秘籍来咯! 小秘籍希望大家都能轻松建模呀,国赛也会持续给大家放松思路滴~ 抓紧小秘籍,我们出发吧~ 来看看国赛D题的题目~ 完整版内容在文末领取噢~ 湖羊养殖场是一家以湖羊为主要养殖对象的养殖场,湖羊是国家级绵羊保护品种,具有优良的生长特性和适应性

    2024年02月09日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包