小编写这篇文章的主要目的,主要还是给大家讲解python数学建模的相关介绍,包括数学建模的三大模型介绍,另外,还会涉及到一些常见的十大常用算法,就具体内容,下面给大家详细解答下。
前言
数学建模的介绍与作用
全国大学生数学建模竞赛:
全国大学生数学建模竞赛创办于1992年,每年一届,已成为全国高校规模最大的基础性学科竞赛,也是世界上规模最大的数学建模竞赛。2018年,来自全国34个省/市/区(包括香港、澳门和台湾)及美国和新加坡的1449所院校/校区、42128个队(本科38573队、专科3555队)、超过12万名大学生报名参加本项竞赛。
竞赛宗旨:创新意识团队精神重在参与公平竞争
指导原则:扩大受益面,保证公平性,推动教学改革,提高竞赛质量,扩大国际交流,促进科学研究。
数学建模竞赛的意义:
培养科学研究的能力培养通过研究学习新认识的能力培养团队合作能力培养创新意识和创造能力训练快速获取信息和资料的能力锻炼快速了解和掌握新知识的技能培养团队合作意识和团队合作精神增强写作技能和排版技术更重要的是训练人的逻辑思维和开放性思考方式
就业:培养动手实践经验
发展:科研潜力的最好证明
运用数学、计算机技术和问题背景学科等知识,解决极富挑战性的实际问题。
中国大学生在线数学建模专题网:http://dxs.moe.gov.cn/zx/qkt/sxjm/
美赛官网:https://www.comap.com/
1三大模型与十大常用算法【简介】
1-1三大模型
预测模型:神经网络预测、灰色预测、拟合插值预测(线性回归)、时间序列预测、马尔科夫链预测、微分方程预测、Logistic模型等等。应用领域:人口预测、水资源污染增长预测、病毒蔓延预测、竞赛获胜概率
预测、月收入预测、销量预测、经济发展情况预测等在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广泛的应用。
优化模型:规划模型(目标规划、线性规划、非线性规划、整数规划、动态规划)、图论模型、排队论模型、神经网络模型、现代优化算法(遗传算法、模拟退火算法、蚁群算法、禁忌搜索算法)等等。应用领域:快递员派送快递的最短路径问题、水资源调度优化问题、高速路
口收费站问题、军事行动避空侦察的时机和路线选择、物流选址问题、商区布局规划等各个领域。
评价模型:模糊综合评价法、层次分析法、聚类分析法、主成分分析评价法、
灰色综合评价法、人工神经网络评价法等等。应用领域:某区域水资源评价、水利工程项目风险评价、城市发展程度评价、足球教练评价、篮球队评价、水生态评价、大坝安全评价、边坡稳定性评价
1-2十大常用算法
2 python数据分析之Pandas 2-1什么是pandas
一个开源的Python类库:用于数据分析、数据处理、数据可视化
高性能
容易使用的数据结构
·容易使用的使用分析工具
很方便和其他类库一起使用:
numpy:用于科学计算
scikit-learn:用于机器学习
2-2 pandas读取文件
'''
当使用Pandas做数据分析时,需要读取事先准备好的数据集,这是做数据分析的第一步。
Pandas提供了多种读取数据的方法:
read_csv()用于读取文本文件
read_excel()用于读取文本文件
read_json()用于读取json文件
read_sql_query()读取sql语句的
通用流程:
1-导入库import pandas as pd
2-找到文件所在位置(绝对路径=全称)(相对路径=和程序在同一个文件夹中的路径的简称)
3-变量名=pd.读写操作方法(文件路径,具体的筛选条件,...)
./当前路径
../上一级
将csv中的数据转换为DataFrame对象是非常便捷。和一般文件读写不一样,它不需要你做打开文件、
读取文件、关闭文件等操作。相反,您只需要一行代码就可以完成上述所有步骤,并将数据存储在
DataFrame中。
'''
import pandas as pd
#输入参数:数据输入的路径【可以是文件路径,可以是URL,也可以是实现read方法的任意对象。】
df=pd.read_csv('s')
print(df,type(df))
#Pandas默认使用utf-8读取文件
print()
import pandas as pd
lxw=open(r"t.csv",encoding='utf-8')
print(pd.read_csv(lxw))
print()
import os
#打印当前目录
print(os.getcwd())
详细版学习:
#1:
import pandas as pd
df=pd.read_csv('nba.csv')
print(df)
#2:
import pandas as pd
df=pd.read_csv('nba.csv')
#to_string()用于返回DataFrame类型的数据,如果不使用该函数,则输出结果为数据的前面5行和末尾5行,中间部分以...代替(如上)
print(df.to_string())
#3:
import pandas as pd
#三个字段name,site,age
nme=["Google","Runoob","Taobao","Wiki"]
st=["www.google.com","www.runoob.com","www.taobao.com","www.wikipedia.org"]
ag=[90,40,80,98]
#字典
dict={'name':nme,'site':st,'age':ag}
df=pd.DataFrame(dict)
#保存dataframe
print(df.to_csv('site.csv'))
#4:
import pandas as pd
df=pd.read_csv('正解1.csv')
#head(n)方法用于读取前面的n行,如果不填参数n,默认返回5行
#print(df.head())
#df.head(50).to_csv('site4.csv')
df.tail(10).to_csv('site4.csv')
print("over!")
#5:
import pandas as pd
df=pd.read_csv('nba.csv')
#读取前面10行
print(df.head(10))
#6:
import pandas as pd
df=pd.read_csv('nba.csv')
#tail(n)方法用于读取尾部的n行,如果不填参数n,默认返回5行,空行各个字段的值返回NaN
print(df.tail())
#7:
import pandas as pd
df=pd.read_csv('nba.csv')
#读取末尾10行
print(df.tail(10))
#8:
import pandas as pd
df=pd.read_csv('正解1.csv')
#info()方法返回表格的一些基本信息
print(df.info())
#non-null为非空数据,我们可以看到上面的信息中,总共458行,College字段的空值最多
所有csv、excel文件可在资源当中自行提用,没有的可自行补充!
提示:须提前安装好pandas库。【终端安装命令:pip install pandas】
import pandas as pd
lxw=pd.read_csv('nba.csv')
#查看前几行数据
print(lxw.head())
#查看索引列
print(lxw.index)
#查看列名列表
print(lxw.columns)
#查看数据的形状(返回行、列数)
print(lxw.shape)
#查看每列的数据类型
print(lxw.dtypes)
print()
#读取txt文件,自己指定分隔符、列名
fpath='D:PyCharm数学建模大赛数据分析-上-2Python成绩.csv'
lxw=pd.read_csv(
fpath,
sep=',',
header=None,
names=['name','Python-score']
)
#print(lxw)
lxw.to_csv('Python成绩2.csv')
#读取excel文件:
import pandas as pd
lxw=pd.read_excel('暑假培训学习计划.xls')
print(lxw)
注:如果最后这里【读取excel文件]运行出错,那就在终端安装pip install xlrd。
2-3 pandas数据结构
'''
1-Series:一维数据,一行或一列
【Series是一种类似于一维数组的对象,它由一组数据(不同数据类型)以及一组与之相关的数据标签(即索引)组成】
2-DataFrame:二维数据,整个表格,多行多列
'''
import pandas as pd
#1-1仅用数据列表即可产生最简单的Series
lxw=pd.Series([1,'a',5.2,6])
print(lxw)#运行结果解说:左边为索引,右边为数据
#获取索引
print(lxw.index)
#获取数据
print(lxw.values)
print()
#1-2创建一个具有索引标签的Series
lxw2=pd.Series([5,'程序人生6',666,5.2],index=['sz','gzh','jy','xy'])
print(lxw2)
print(lxw2.index)
#写入文件当中
lxw2.to_csv('gzh.csv')
print()
#1-3使用过Python字典创建Series
lxw_ej={'python':390,'java':90,'mysql':90}
lxw3=pd.Series(lxw_ej)
print(lxw3)
#1-4根据标签索引查询数据
print(lxw3['java'])
print(lxw2['gzh'])
print(lxw2[['gzh','jy']])
print(type(lxw2[['gzh','jy']]))
print(lxw[2])
print(type(lxw[2]))
print()
#2根据多个字典序列创建dataframe
lxw_cj={
'ps':[86,92,88,82,80],
'windows操作系统':[84,82,88,80,92],
'网页设计与制作':[92,88,97,98,83]
}
df=pd.DataFrame(lxw_cj)
#print(df)
#df.to_excel('lxw_cj.xlsx')#须提前安装好openxlsx,
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/128411.html
摘要:在上篇文章里,为大家推荐了一些数学学习的软件和微积分线性代数概率统计的学习视频,今天再推荐一些精心挑选的经典教材,并为大家提供电子书的下载链接,和视频搭配起来一起学习,效果会更好。我们要使用的以及等都包含在里面,无需额外下载。 在上篇文章里,为大家推荐了一些数学学习的软件和微积分、线性代数、概率统计的学习视频,今天再推荐一些精心挑选的经典教材,并为大家提供电子书的下载链接,和视频搭配起...
摘要:微积分微积分的课程我们也同样是推荐和的课程。还有一个斯坦福大学的统计学习入门英文字幕相当不错。所以,除了绘制数学图形外,学习数学就应该完全与编程有机结合。 无论是三大数学软件Matlab(通信、控制等工程例外)、Maple、Mathematica,还是三大统计软件Spass、Stata、SAS,这些可视化的软件本身就是编程的一个体现,它们在一定程度上降低了我们使用数学的门槛,但另一方面...
摘要:是你学习从入门到专家必备的学习路线和优质学习资源。的数学基础最主要是高等数学线性代数概率论与数理统计三门课程,这三门课程是本科必修的。其作为机器学习的入门和进阶资料非常适合。书籍介绍深度学习通常又被称为花书,深度学习领域最经典的畅销书。 showImg(https://segmentfault.com/img/remote/1460000019011569); 【导读】本文由知名开源平...
小编写这篇文章的主要目的,主要是来给大家解答下关于python数学建模的一些相关的介绍,涉及到内容涵盖Numpy的一些相关的应用具体的一些介绍。另外,还会涉及到相关的Pandas学习知识,具体内容下面给大家详细解答下。 1 Numpy介绍与应用 1-1Numpy是什么 NumPy是一个运行速度非常快的数学库,一个开源的的python科学计算库,主要用于数组、矩阵计算,包含: 一个强大的...
摘要:在这里我分享下我个人入门机器学习的经历,希望能对大家能有所帮助。相关学习链接,,入门后的体验在入门了机器学习之后,在实际工作中,绝大多数的情况下你并不需要去创造一个新的算法。 机器学习在很多眼里就是香饽饽,因为机器学习相关的岗位在当前市场待遇不错,但同时机器学习在很多人面前又是一座大山,因为发现它太难学了。在这里我分享下我个人入门机器学习的经历,希望能对大家能有所帮助。 PS:这篇文章...
阅读 911·2023-01-14 11:38
阅读 878·2023-01-14 11:04
阅读 740·2023-01-14 10:48
阅读 1982·2023-01-14 10:34
阅读 942·2023-01-14 10:24
阅读 819·2023-01-14 10:18
阅读 499·2023-01-14 10:09
阅读 572·2023-01-14 10:02