〇、数学建模竞赛及赛题
赛题源文件下载
本次我们队伍选择的是 C 题(蔬菜类商品的自动定价与补货决策),常规的数据分析处理题。
注意:因为本人负责使用 Python 根据数学模型清洗、处理数据及生成结果处理结果图,所以本文注重的是对本人在比赛过程中使用的代码进行分析总结。
一、处理大数据
这次的 C 题总共有四个附件,除了附件 2 其它的附件数据量基本都很小,所以在代码调试过程中影响并不大。但是附件 2 确有 878,504 条数据,每次光使用 Python 读取该文件内容就会耗去很漫长的时间,这在比赛过程中是一笔巨大的时间开销。所以,使用适当的方法加快数据的读取过程是一个很重要的问题。
我的思路是:先把附件文件的数据读取一次,并把该数据存储在对应的变量中,然后将这个变量存储成二进制文件形式。需要使用某个附件文件的数据时,就直接加载对应的二进制变量文件就可以了。这样在比赛过程中就可以极大的提高程序调试的时间周期了!下面是具体的代码:
保存变量1 2 3
| data1 = pd.read_excel('DATA/DATA1.xlsx') with open('VALUE/data1.pickle', 'wb') as f: pickle.dump(data1, f)
|
加载变量1 2
| with open('VALUE/data1.pickle', 'rb') as f: s_daily_sales = pickle.load(f)
|
二、好看的图标配色方案
有几个不错的配色方案:
配色方案一1
| color0 = ["#95a2ff", "#fa8080", "#ffc076", "#fae768", "#87e885", "#3cb9fc", "#73abf5", "#cb9bff", "#434348", "#90ed7d", "#f7a35c", "#8085e9"]
|
配色方案二1
| color1= ["#3682be", "#45a776", "#f05326", "#eed777", "#334f65", "#b3974e", "#38cb7d", "#ddae33", "#844bb3", "#93c555", "#5f6694", "#df3881"]
|
三、Colormap 的使用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import matplotlib.pyplot as plt import numpy as np
x = np.linspace(0, 20, 20) h = 5
fig=plt.figure(figsize=(10, 10))
cmap = plt.cm.get_cmap('Oranges', len(x))
colors = cmap(np.linspace(0, 1, len(x))) plt.bar(x, height = h, color = colors) plt.axis('off') plt.savefig('D:\\SeaYJ\\Desktop\\1.JPG')
|
get_cmap
中的第一个参数就是调色板的名称,在 Matlibplot 中有很多内置的调色板可以使用,简单列举几个:Plasma 、Oranges、Summer、Spectral、Set1、Rainbow。