《Python数据分析》高职全套教学课件_第1页
《Python数据分析》高职全套教学课件_第2页
《Python数据分析》高职全套教学课件_第3页
《Python数据分析》高职全套教学课件_第4页
《Python数据分析》高职全套教学课件_第5页
已阅读5页,还剩334页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python数据分析全套可编辑PPT课件Contents数据科学导论与Python环境配置01认识NumPy02Pandas入门03Pandas高级功能04深入Pandas数据分析05PythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysisContentsPandas在实际项目中的应用06数据可视化工具基础07机器学习入门与实践08实践项目与技能提升09PythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysis项目一数据科学导论与Python环境配置数据科学导论任务一1.理解数据科学的概念,掌握数据科学的核心要素,包括大数据、数据分析、机器学习、统计推断等基本概念。有段时期,村庄的庄稼产量突然下降,小红决定运用她所掌握的技能来找出原因。她收集了天气、土壤和作物生长的数据,并进行图表和模型分析,分析结果揭示干旱和不当种植时间是问题的根源。小红据此提出解决方案:调整种植时间和引入新的灌溉系统。方案被采纳后,庄稼产量很快恢复。这个故事反映出数据科学不仅是一门科学,更是解决问题的强大工具。本任务可以让我们认识并理解数据科学。2.能够完成数据获取、清洗、探索性分析到模型构建和验证的整体工作流程。3.培养数据思维,学会从数据角度思考问题。4.树立正确的数据价值观,恪守数据安全与隐私保护的职业道德规范。任务描述任务目标数据科学是一门多学科交叉的综合性学科。它结合了统计学、计算机科学、数学、信息科学、领域专业知识以及有效的沟通技巧,其核心目标是通过系统性、科学的方法,处理、分析和解释数据,以解决实际问题、支持决策制定和推动创新。数据科学包括数据获取与预处理、数据分析与建模、数据可视化与解释三部分内容。一、数据科学导论一、数据科学导论数据科学导论(一)数据获取与预处理(1)数据采集(2)数据清洗(3)数据整合与转换(二)数据分析与建模(1)探索性数据分析(EDA)(2)统计分析(3)机器学习与人工智能(三)数据可视化与解释(1)数据可视化(2)结果解释与沟通二、数据科学项目的管理与实施(1)问题定义与理解明确项目目标,理解业务背景和需求,确定关键问题和成功指标。(2)数据收集与整理根据问题需求获取数据,进行数据清洗、整合与转换。(3)探索性分析对数据进行初步探索,发现潜在关系、异常值和数据分布特征。(4)特征工程根据问题特性创建、选择或转换有意义的特征变量。(5)模型选择与构建选择合适的统计模型或机器学习算法,训练模型并进行性能评估。(6)模型验证与优化使用交叉验证、网格搜索等方法优化模型参数,验证模型泛化能力。(7)结果解释与可视化将分析结果以易于理解的方式呈现,解释模型预测和发现的模式。(8)部署与监控将模型集成到业务流程或应用中,持续监控模型性能并进行必要的更新。三、Python在数据科学中的应用Python具有简洁、清晰的语法,对新手友好,学习曲线平缓,使得非计算机背景的从业者也能快速上手进行数据分析。同时,Python有丰富的文档、教程、社区资源(如StackOverflow、GitHub),能为学习和解决问题提供强大支持。(一)易学易用Python拥有完善的数据科学生态系统,如NumPy、Pandas、Matplotlib、Scikit-learn等库几乎涵盖了数据科学全流程所需的功能,能极大地提高工作效率(二)拥有强大的数据科学库Python社区庞大且活跃,不断涌现出新的数据科学相关项目与工具,这些确保了Python在数据科学领域的前沿地位。而且,国内外企业与学术界广泛采用Python进行数据科学工作,形成了丰富的实践案例与最佳实践典范。(四)活跃的社区与持续发展Python支持Windows、macOS、Linux等多种操作系统,且具有良好的可移植性。Python可通过Cython、Pybind11等工具与C/C++、Fortran等编译型语言无缝集成,实现高性能计算。(三)跨平台与可扩展性三、Python在数据科学中的应用(四)活跃的社区与持续发展1.数据获取与预处理(1)数据读取。Pandas可读取多种数据格式(CSV、Excel、JSON、SQL等),转为DataFrame便于操作。(2)数据清洗。Pandas提供清洗功能:处理缺失值、异常值、重复数据,类型转换、标准化等。(3)数据整合。Pandas通过合并、拼接等操作,可整合不同来源数据。2.数据分析(1)统计分析。Python的NumPy、SciPy库提供了丰富的统计函数,用于计算描述性统计量、执行假设检验、拟合概率分布等。(2)可视化。Matplotlib、Seaborn等库支持创建各种图表(如直方图、散点图、箱线图等),用于数据可视化与探索性数据分析(EDA)。(3)机器学习。Python拥有强大的机器学习库,,支持各种监督学习、无监督学习、强化学习算法的训练与应用。3.数据工程(1)数据管道。Python的Airflow、Luigi等库可用于构建复杂的数据处理管道,以进行自动化数据清洗、转换、加载(ETL)等流程。(2)大数据处理。借助ApacheSpark(PySpark)、Dask等库,Python可以处理大规模数据集,实现分布式计算。4.部署与运维(1)API开发。使用Flask、Django等Web框架,可以将数据科学模型封装为RESTfulAPI,便于与其他系统集成。(2)模型服务化。借助MLflow、Kubeflow等工具,Python支持模型的版本管理、部署、监控与更新。任务实施1关系销售定义问题。确定目标变量为房屋售价;确定特征变量包含面积、卧室数量、浴室数量、位置、年份等。2数据收集。从公共数据源或房地产网站获取房价数据。3数据清洗。检查缺失值,决定是删除还是填充,识别并处理异常值。4数据探索。使用描述性统计分析来了解数据的基本特征;绘制图表,如直方图、箱线图,来可视化数据分布。5特征工程。创建新特征,如从地址提取社区信息;对类别特征进行编码,如使用独热编码。让我们以一个简单的数据科学任务——“预测房价”为例,来帮助理解数据科学导论中的一些基本概念。这个任务的具体目标是基于房屋的特征(如面积、卧室数量、位置等)预测其售价。6模型选择。选择一个回归模型,如线性回归。任务实施任务实施关系销售7模型训练。将数据分为训练集和测试集,使用训练集训练模型。8模型评估。使用测试集评估模型性能;计算均方误差(MSE)或均方根误差(RMSE)。9模型优化。调整模型参数,如正则化强度;尝试不同的模型,如决策树或随机森林。结果解释。解释模型的系数,了解每个特征对房价的影响。部署模型。将模型部署为一个Web应用,用户可以输入房屋特征来预测价格。监控和维护。定期检查模型的预测性能,确保其准确性。任务实施沟通和报告。准备报告,展示模型的预测能力和特征的重要性。10121311任务实施我们通过一段Python代码来实现上述流程。现在我们还不需要看懂这些代码的含义,仅需直观上认识数据科学的处理过程,随着本书的学习,我们将更加深入地理解这些代码的逻辑和过程。为了生成上述代码中的基础数据,可以编写一个代码来实现。Python环境配置任务二5.将个人技术学习与国家科技发展需求紧密结合,以技术创新助力国家数字经济建设1.能够独立完成Python程序的安装,并完成系统环境变量的配置。Python是数据科学的强大工具,需要搭建自己的Python环境。可使用pip安装数据处理库NumPy、Pandas和可视化库Matplotlib,这些库可以让我们的编程如虎添翼。除了基础环境,还可以使用JupyterNotebook方便地编写代码,导入数据,绘制图表。本任务,我们将完成Python的环境搭建。2.配置Python数据分析环境,能够独立安装和配置Python相关的数据分析环境,如Anaconda,设置虚拟环境等。3.执行简单的数据分析任务:能够导入数据,进行基本的数据查看、筛选、统计和可视化操作。4.能够完成JupyterNotebook等工具的安装,并熟悉工具的基本用法。任务描述任务目标5.将个人技术学习与国家科技发展需求紧密结合,以技术创新助力国家数字经济建设。一、Python解释器在计算科学中,编程语言是人类与计算机的沟通桥梁,Python解释器是理解和执行Python源代码的软件程序。Python源代码是遵循其语法的文本指令与表达式,而CPU仅能处理二进制机器语言,因此Python解释器作为中间环节,负责将Python代码翻译为CPU可执行的指令。(一)Python解释器的定义Python解释器主要由四部分构成:词法分析器将源代码分解为词法标记,解析器将标记构建为抽象语法树,编译器把抽象语法树转为字节码,解释器核心通过虚拟机执行字节码。(二)Python解释器的构成Python解释器主要有5种:CPython(官方默认,C语言编写)、IPython(交互式,适用于数据分析)、PyPy(即时编译,高性能)、Jython(Java平台)、IronPython(.NET框架)。(四)Python解释器的种类Python在执行时,先将.py文件中的源代码编译成Python的bytecode(字节码),然后再由Python虚拟机来执行这些编译好的bytecode。这种机制的基本思想跟Java、.NET是一致的。(三)Python语言的编译和执行流程一、Python解释器(二)Python解释器的构成解释器核心负责执行字节码。它包含一个虚拟机(VirtualMachine,VM),该VM逐条读取字节码指令并执行相应的操作。虚拟机内部有栈(用于存放数据和操作数)、寄存器(存储临时变量和状态信息)等结构,以模拟一个简单的计算环境。解释器在执行字节码时,会根据需要动态加载模块、处理异常、管理内存等。(4)解释器核心(InterpreterCore)尽管Python通常被视为解释型语言,但其解释过程实际上包含了一个编译阶段。Python解释器中的编译器将AST转换为一种中间形式,即Python字节码(PythonBytecode)。字节码是一种低级、平台无关的指令集,类似于汇编语言,但比机器语言更高级、更易理解。Python字节码文件通常以.pyc或.pyo(优化后的字节码)为扩展名。编译器(Compiler)解析器接收词法分析器产生的词法标记流,并根据Python语言的语法规则构建抽象语法树(AbstractSyntaxTree,AST)。AST是源代码的抽象语法结构的树状表现形式,它以层次化的方式表示了源代码的结构和逻辑。AST每个节点代表一个编程构造(如函数定义、条件语句、赋值操作等),节点间的连接反映了这些构造之间的关系。解析阶段确保了源代码符合Python语言的语法规则。解析器(Parser)词法分析器也称为扫描器,负责将源代码分解成一系列不可再分的符号单元,称为词法标记(lexicaltokens)。这些标记对应Python语言中的关键字、标识符、运算符、标点符号、字符串和数值等基本元素。词法分析是将源代码从字符流转换为结构化数据的第一步。词法分析器(Lexer)(2)(4)(1)(3)一、Python解释器(4)运行结束后python解释器则将PyCodeObject写回到pyc文件中。当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。Python解释器的虚拟机将执行内存中的字节码对象转化为机器语言,虚拟机与操作系统交互,使机器语言在机器硬件上运行。0304Python解释器的编译器会将.py源文件编译(解释)成字节码生成PyCodeObject字节码对象存放在内存中。执行source.py后,将会先启动Python的解释器。0102(三)Python语言的编译和执行流程一、Python解释器21345(1)CPython。CPython是官方默认且最广泛使用Python解释器,用C语言编写。它实现了Python语言规范,并提供了Python标准库。大多数Python用户和第三方库都基于CPython进行开发和测试。(2)IPython。IPython是一个基于CPython的交互式解释器,增强了用户界面,提供了诸如自动补全、交互式调试、丰富的输出格式化等功能,常用于数据分析、科学计算等领域的交互式工作。(3)PyPy。PyPy采用了即时编译(JIT,Just-In-TimeCompilation)技术,能够在运行时将热点Python字节码动态编译为更高效的机器码,从而在某些场景下显著提升执行速度。PyPy兼容CPython标准库,适用于对性能要求较高的应用。(4)Jython。Jython是运行在Java平台上的Python解释器,可以直接将Python代码编译为Java字节码并在Java虚拟机(JVM)上执行。这使得Python程序能够无缝地调用Java库,并与Java应用程序集成。(5)IronPython。类似Jython,IronPython是专为.NET框架设计的Python解释器,允许Python代码编译为.NET的中间语言(CIL),在CLR(CommonLanguageRuntime)上执行。这使得Python能与.NET生态系统中的其他语言和库交互。二、JupyterNotebookJupyterNotebook是一款基于Web的交互式计算环境(如图1-2-1),它允许用户创建和分享包含实时代码、方程式、可视化图表和文字注释的文档,特别适用于数据分析、机器学习、教育和研究等领域。JupyterNotebook起源于IPython项目,后来发展成为支持多种编程语言,通过内核系统(kernels)连接不同语言的运行环境。安装完Python,会自动包含一个JupyterNotebook工具。二、JupyterNotebook用户可以编写代码并在浏览器中直接运行代码单元格,看到即时的输出结果。(一)交互式计算结合文本、代码、数学表达式(使用LaTeX语法)、图像、视频等多种元素,形成可读性强的叙述性报告或教学材料。(二)混合型文档JupyterNotebook有一个丰富的插件生态系统,可以添加额外功能,如代码格式化、笔记本预览、主题定制等。(七)灵活的插件系统除了Python,还可以支持R、Julia、Scala、Ruby等众多编程语言,只需安装对应的语言内核。(三)支持多种编程语言能够轻松生成并嵌入图表和可视化结果,例如matplotlib、seaborn等库绘制的图表。(四)动态可视化Notebooks可以导出为多种格式(如HTML、PDF或纯文本),并且可以通过邮件、GitHub或其他在线平台与他人分享和协作。(五)可分享与协作Notebooks文件以JSON格式存储,扩展名为.ipynb,这使得它们可以很容易地被纳入版本控制系统如Git进行版本管理和团队合作。(六)版本控制友好三、基本IDE““Python的集成开发环境(IDE)是专为Python编程设计的一体化软件套件,提供了代码编辑、调试、项目管理、版本控制、智能提示、交互式运行等多种功能,旨在提升开发效率和代码质量。以下是对几种常见PythonIDE工具的简介。(一)PyCharmPyCharm(JetBrainsPythonIDE,社区版免费。提供编辑调试、版本控制、数据库管理,集成Jupyter及NumPy等科学计算。(二)VisualStudioCodewithPythonExtension微软免费VSCode(Python扩展),插件丰富、支持多系统及Python开发调试。(三)SpyderSpyder是开源免费的数据分析IDE,集成IPython,支持调试、多系统及绘图。四、虚拟机环境与Conda虚拟机环境(VirtualMachineEnvironment)是基于虚拟化技术构建的计算机模拟系统,通过软件抽象层隔离物理硬件资源,支持多系统或应用的并行运行与管理。其核心功能是模拟计算机软硬件平台或特定程序的执行环境。虚拟机环境主要分为程序运行平台(如Java虚拟机、.NETCLR)、完整计算机模拟器(如VirtualPC、VMware)以及硬件系统仿真器(如游戏机模拟器)三类。Conda是一个开源环境管理系统和软件包管理系统,用于安装多个版本的软件包及其依赖项,并在它们之间轻松切换。四、虚拟机环境与Conda它们通过虚拟硬盘文件(如VHD)分配资源,可降低硬件成本并提升维护效率。Conda是一个开源环境管理系统和软件包管理系统,用于安装多个版本的软件包及其依赖项,并在它们之间轻松切换。它适用于Linux,OSX和Windows,并且是为Python程序创建的,但可以打包和分发任何软件。Conda可以配置隔离Python的虚拟环境。Conda有两种发行版,分别是Anaconda和Miniconda。Anaconda包括常用的pip模块和图形化的管理工具等,Anaconda具有丰富的工具包,软件也较大。Miniconda则是精简版干净纯粹,安装后还可以根据需要增加安装各种工具。三者间的关系如图1-2-2所示。Conda是一个开源环境管理系统和软件包管理系统,用于安装多个版本的软件包及其依赖项,并在它们之间轻松切换。任务实施一、Python环境安装打开Python官网选择最新的稳定版本Python安装包。注意根据CPU的架构不同选择下载。下载安装包(1)打开安装包所在文件夹,浏览器会默认下载到“C:\Users\Administrator\Downloads”文件夹下,双击下载的安装包开始安装。安装位置选择“Addpython.exetoPATH”,可以在安装时自动将安装路径设置到系统PATH中。按照软件安装成功后点击“Disablepathlengthlimit”,允许程序绕过260字符路径限制,再关闭。路径限制(2)(3)(4)(5)(5)使用组合键“win+R”,系统左下角弹出运行命令窗口,输入“cmd”后点确定,能启动命令提示行添加标题(6)(6)在命令提示行中输入“python”,显示内容如图1-11所示,说明程序路径已经设置完成。安装完成命令提示行任务实施一、Python环境安装图1-3

查看操作系统的位数图1-4

Python下载页面图1-6

安装python图1-7开始安装任务实施一、Python环境安装图1-8禁用系统的Path长度自动限制图1-9Python安装完成图1-10启动命令提示行图1-11检查启动路径任务实施二、安装JupyterLabJupyterLab应用程序可以在不需要互联网访问的本地桌面上执行,也可以安装在远程服务器上并通过互联网访问。JupyterLab具有简单易用、随写随看结果的特性,因而是数据分析师常用的工具。这里将具体介绍JupyterLab的使用方法以及一些技巧。安装好Python程序后,在命令行执行“pipinstalljupyter”安装JupyterLab软件,如图1-2-12所示。JupyterLab应用程序是一个服务器客户端应用程序,允许通过Web浏览器编辑和运行笔记本文档。任务实施二、安装JupyterLab(一)启动程序在本机的命令行界面,输入“jupyterlab”即可启动这个工具,如图1-13所示。启动后,会自动弹出浏览器窗口打开JupyterLab。如果启动报错,需要检查Path中是否已经设置了Python的路径。本地JupyterLab的默认URL为:http://localhost:8888/lab。自动浏览器打开的界面如图1-14所示。图1-13启动jupyterlab图1-14Jupyterlab界面任务实施二、安装JupyterLab(二)启动器右侧的选项卡称为启动器,你可以新建Notebook、Console、Terminal或者Text文本。当你创建新的Notebook或其他项目时,启动器会消失。如果您想新建文档,只需单击左侧圈里的“+”按钮,如图1-15所示。在启动器中点击你想要打开的文档类型,即可打开相应文档,如图1-16所示。图1-15新建项目图1-16支持多种文档类型(三)打开文档任务实施二、安装JupyterLab(二)启动器单击左侧的“+”按钮,可新建多种文档。右侧的标签栏中可以同时打开多种文件,如图1-17所示。图1-17

支持创建或打开多种文件任务实施二、安装JupyterLab当在一个Notebook里面写代码时,如果想要实时同步编辑文档并查看执行结果,可以新建该文档的多个视图,如图1-18所示。步骤:file→newview→fornotebook。JupyterLab支持Markdown、csv、geojson地图、图片、pdf等多种格式的文件,如图1-19所示。图1-18支持单文件多视图图1-19支持多种格式(四)支持多视图任务实施三、创建Notebook运行Python程序在JupyterLab启动界面中,点击“Notebook”可以创建JupyterNotebook文件,如图1-20所示。Notebook文件的执行界面及按钮介绍如图1-21所示。新建的文件名默认为Untitled,可以右击文件标签选择“RenameNotebook”或者通过菜单栏“File→RenameNotebook”修改文件名。图1-20创建Notebook文件图1-21Notebook执行界面(一)创建Notebook文件(二)Notebook文件的执行界面任务实施三、创建Notebook运行Python程序(三)交互模式Notebook界面提供了指令模式与单元编辑模式两种交互模式。在指令模式下,选定的单元格周围会显示为灰色边框,此模式主要用于管理单元格,操作涵盖单元的新增、删除、样式调整等全局任务。通过敲击回车键,用户能将界面切换至单元编辑模式,此时边框颜色转为绿色,界面上方的菜单栏右侧展示出笔形图标,这些标志着界面已进入内容编辑环节。如需回到指令模式,仅需按下Esc键即可实现模式切换。(四)代码输入和运行区工具栏下方是代码输入和运行区,支持多个cell以编写不同的代码并运行。在第一个单元格中,输入Python代码:“print(“hello

world!”)”,点击运行按钮或按下“Shift+Enter”,即可看到执行结果,如图1-2-22所示。运行后,在其下方会出现一个新的cell,可以继续编写其他代码。图1-2-23中的一对InOut会话被视作一个代码单元,称为cell。cell左侧“[1]:”“[5]:”为自动生成的编号,表示执行已完成。某个cell的程序正在运行时,左侧会显示“*”符号。任务实施三、创建Notebook运行Python程序(五)常用快捷键操作常用的Notebook快捷键操作如表1-2-1所示。任务实施四、Anaconda与虚拟环境管理(一)Windows操作系统安装(1)下载Anaconda安装包打开Anaconda官网,登录网站后,会看到登录/注册页面,如图1-24所示。我们选择跳过注册,进入下载页面。Anaconda是跨平台的,有Windows、macOS、Linux版本,这里我们以Windows版本为例。点击图1-25中带有Windows图标的“Download”按钮,开始下载,Anaconda安装包中含有Python,下载页面也可以看到当前安装包包含的Python版本序号,如图1-25所示。(2)安装Anaconda下载完成后双击安装包,在出现的界面点击“Next”,进入下一界面后点击“IAgree”。选择为本机所有用户安装(默认Allusers),继续点击“Next”。软件默认安装到C盘,可根据C盘空间情况点击Browse更改路径。后续选项保持默认,点击“Install”开始安装。安装结束后跳过VsCode安装,点击“Next”直至完成。任务实施四、Anaconda与虚拟环境管理(一)Windows操作系统安装图1-24

登录界面图1-25

下载界面图1-26启动安装任务实施四、Anaconda与虚拟环境管理(一)Windows操作系统安装图1-27同意协议图1-28为所有用户安装图1-29选择路径任务实施四、Anaconda与虚拟环境管理(一)Windows操作系统安装图1-30

安装选项图1-31完成安装任务实施

四、Anaconda与虚拟环境管理安装完成后,启动Anaconda,界面如图1-32所示。我们知道Conda是一个开源环境管理系统和软件包管理系统,所以在home界面能看到各种软件包。点击左侧菜单中的“Environments”,可以看到虚拟机环境的管理页面,如图1-33所示。图1-32启动Anaconda

图1-33默认环境任务实施

四、Anaconda与虚拟环境管理安装完成后,默认会有一个base(root)的环境,右侧可以看到这个环境内已经安装了比较多的软件,包括我们要用到的NumPy和Pandas。如果没有,可以在右侧顶部选择“uninstalled”,查找这两个软件并安装,如图1-34、图1-35所示。图1-34安装Numpy图1-35安装Pandas任务实施

四、Anaconda与虚拟环境管理前面我们讲过,Anaconda是Conda的发行版,在本书中的主要作用是可以创建多个虚拟环境,并在不同虚拟环境中安装不同版本的软件。我们在Anaconda界面的Environments页面中,点击下方的“create”按钮,就可以创建一个base以外的新环境,如图1-36所示。图1-36创建虚拟环境任务实施

四、Anaconda与虚拟环境管理在弹窗中输入环境名称,并选择Python版本,此处我们有别于base,选择3.10.14版本,如图1-37所示。然后等待一段时间,即可完成studyPy环境的搭建。完成创建后,可看到列表中出现了两个环境,分别是“base”和“studyPy”。图1-37新虚拟环境选择Python版本任务实施

四、Anaconda与虚拟环境管理点击“studyPy”环境的启动按钮,在弹框中点击“OpenTerminal”启动虚拟环境,如图1-38所示。在弹出的命令行窗口中,可以看到在路径前出现了(studyPy),说明当前在studyPy环境,如图1-39所示。输入“python--version”,可看到版本为Python3.10.14,如图1-40所示。切换到boot中,再次输入“python--version”,如图1-41所示,studyPy虚拟环境的Python版本与base虚拟环境的Python版本是不同的。图1-38

安装虚拟环境任务实施

四、Anaconda与虚拟环境管理图1-39启动虚拟环境图1-40查看studyPy虚拟环境的Python版本图1-41查看base虚拟环境的Python版本谢谢观看!Python数据分析Contents数据科学导论与Python环境配置01认识NumPy02Pandas入门03Pandas高级功能04深入Pandas数据分析05PythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysisContentsPandas在实际项目中的应用06数据可视化工具基础07机器学习入门与实践08实践项目与技能提升09PythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysis项目二认识NumPyNumPy的基础知识任务一1.能够使用NumPy库,包括ndarray对象、数据类型(dtype)、数组的创建与初始化方法。在数据科学的世界里,有一个叫作NumPy的神奇库,这个库擅长于数学计算,特别是在多维数组、矩阵计算等方面,能力非常突出。可以帮助我们高效地处理和分析数据。本任务让我们开启NumPy的学习之旅。2.会使用数组的索引、切片、迭代、重组(如转置、重塑)等基本操作方法。3.能够利用NumPy执行数组级别的数学运算(如加减乘除、指数、对数)和统计函数(如均值、中位数、标准差)。4.秉持严谨细致、追求卓越的科学精神与工匠精神,注重代码规范与数据准确性。任务描述任务目标数据科学是一门多学科交叉的综合性学科。NumPy的核心是ndarray(N维数组),这是一个高效存储和处理同类型数据的多维容器。相比于Python原生的列表,ndarray能在内存中连续存储,支持矢量化运算,从而大幅提高运算效率。ndarray可以是一维(向量)、二维(矩阵)乃至更高维度的数组,适应多种数据结构需求。数据类型(dtype)是NumPy中的重要概念。NumPy数组中的每个元素都有相同的数据类型,这使得存储和计算更加高效。数据类型可以通过dtype属性查看和指定,涵盖整型、浮点型、复数等多种类型。一、ndarray(N维数组)一、ndarray(N维数组)(三)复数类型plex64:复数,由两部分组成,每部分是32位浮点数。plex128:复数,由两部分组成,每部分是64位浮点数。(二)浮点数类型np.float32:32位浮点数。np.float64:64位浮点数(默认的浮点数类型)。np.float128:128位浮点数(某些平台上)。(四)布尔类型np.bool_:布尔类型(True或False)一、ndarray(N维数组)(一)整数类型8:带符号8位整数(-128到127)。np.uint8:无符号8位整数(0到255)。16:带符号16位整数。32:带符号32位整数。64:带符号64位整数(常用于较大整数)。一、ndarray(N维数组)(六)对象类型np.object_:任意Python对象。(八)自定义数据类型使用np.dtype创建自定义数据类型,例如:custom_dtype=np.dtype([('field1',np.float64),('field2',32)])(五)字符串类型np.string_:字符串类型。np.unicode_:Unicode字符串类型。一、ndarray(N维数组)(七)结构化数据类型可以自定义结构化数据类型,例如:dtype=[('name','U10'),('age','i4')]二、主要特性2内存高效3生态集成4线性代数运算5随机数生成NumPy设计为与Python生态系统中的其他库无缝集成,是数据科学和机器学习项目的标配。由于数组的连续存储,内存使用更为高效,且对大数据集友好。包含强大的随机数生成器,支持多种分布,该特性对于模拟、统计采样等应用至关重要。提供线性代数模块,支持矩阵乘法、特征值分解、奇异值分解等高级数学运算。1向量化操作支持对整个数组进行操作,而不是单个元素,减少了Python循环的需要,提升了执行效率。任务实施一、NumPyndarray的理解与创建(一)从Python列表创建最直接的方式是从Python的列表创建一个ndarray。Pythonimportnumpyasnp#创建一维数组arr_1d=np.array([1,2,3])print("一维数组:",arr_1d)#创建二维数组arr_2d=np.array([[1,2,3],[4,5,6]])print("二维数组:\n",arr_2d)在这段代码中,“np.array()”函数接收一个列表(或其他可迭代对象),并将其转换为ndarray。同时也可以通过嵌套列表创建多维数组,如二维数组或更高维度的数组。任务实施一、NumPyndarray的理解与创建(一)从Python列表创建使用np.array创建数组时,可以显式指定数据元素类型,下面通过一个实例来帮助理解每种数据的数据类型。Pythonimportnumpyasnp#创建不同数据类型的数组int_array=np.array([1,2,3],dtype=32)float_array=np.array([1.0,2.0,3.0],dtype=np.float64)bool_array=np.array([True,False,True],dtype=np.bool_)complex_array=np.array([1+2j,3+4j],dtype=plex128)string_array=np.array(['Alice','Bob','Charlie'],dtype=np.unicode_)#查看数组的数据类型print("Integerarraydtype:",int_array.dtype)print("Floatarraydtype:",float_array.dtype)print("Booleanarraydtype:",bool_array.dtype)print("Complexarraydtype:",complex_array.dtype)print("Stringarraydtype:",string_array.dtype)执行这段代码,我们就可以看到每个数组的内部数据类型。任务实施一、NumPyndarray的理解与创建(二)使用NumPy特定函数创建Pythonimportnumpyasnparr=np.array([1,2,3])print(arr)(1)numpy.array()。最常用的创建数组方法,可以从Python列表、元组等序列类型的数据创建数组。(2)numpy.zeros()。创建一个指定形状且所有元素都为0的数组。Pythonzeros_arr=np.zeros((3,4))print(zeros_arr)(3)numpy.ones()。创建一个指定形状且所有元素都为1的数组。Pythonones_arr=np.ones((2,2))print(ones_arr)(4)numpy.empty()。创建一个指定形状的数组,但不初始化元素,元素值不确定。Pythonempty_arr=np.empty((2,2))print(empty_arr)#注意:输出可能是随机值任务实施一、NumPyndarray的理解与创建(二)使用NumPy特定函数创建Pythoneye_arr=np.eye(3)print(eye_arr)(5)numpy.eye()。创建一个单位矩阵,对角线元素为1,其余为0。用于线性代数中的特殊矩阵操作。(6)numpy.arange()。创建一个一维数组,包含指定范围内的均匀间隔数值。它类似于Python的range()函数,但返回的是数组。Pythonarange_arr=np.arange(0,10,2)print(arange_arr)(7)numpy.linspace()。在指定的区间内生成固定数量的均匀间隔的样本。可以精确控制样本数量,适合绘图或插值。Pythonlinspace_arr=np.linspace(0,1,5)print(linspace_arr)任务实施一、NumPyndarray的理解与创建(二)使用NumPy特定函数创建Pythonrandom_arr=np.random.rand(2,2)normal_arr=np.random.randn(2,2)print("RandomArray:\n",random_arr)print("\nNormalDistributionArray:\n",normal_arr)(8)numpy.random.rand()或numpy.random.randn()。rand()生成指定形状的数组,元素为[0,1)之间的随机数;randn()生成正态分布的随机数组。这两个方法用于随机数生成,统计模拟或初始化神经网络权重等。(9)numpy.full()。创建一个指定形状的数组,所有元素都是指定的填充数。用于快速创建常数值数组。Pythonfull_arr=np.full((2,2),5)print(full_arr)任务实施二、数组的基本操作与索引(一)索引与切片与Python列表类似,NumPy数组也可以通过索引来访问单个元素或切片来访问子集。Pythonimportnumpyasnp#创建一个示例数组arr=np.array([[1,2,3],[4,5,6],[7,8,9]])#访问元素7print("访问第一行第二列的元素:",arr[0,1])#切片print("获取前两行:",arr[:2,:])#前两行的所有列print("获取第二列:",arr[:,1])#所有行的第二列(1)索引采用[row,column]的形式,上面例子中“arr[0,1]”访问了第一行第二列的元素。无论是行还是列,下标均是从0开始。(2)切片操作与Python列表相似,但可以同时在多个维度上进行,如“arr[:2,:]”获取前两行所有列,而“arr[:,1]”获取所有行的第二列。任务实施二、数组的基本操作与索引(二)数组的基本操作

1.数学运算Python#数组间的加减乘除arr1=np.array([1,2,3])arr2=np.array([4,5,6])print("数组相加:",arr1+arr2)print("数组相减:",arr1-arr2)print("数组元素乘(点乘):",np.multiply(arr1,arr2))#"*"和np.multiply的执行效果均是元素级操作,即对应坐标位置的数据相乘,与线性代数的矩阵乘法不同print("数组相除:",np.divide(arr1,arr2))#"/"和np.divide是元素级除法,即对应坐标位置的数据相除执行结果如图所示直接使用算术运算符(+,-)对数组执行元素级运算。数组的元素级相乘(点乘),可以使用arr1*arr2或np.multiply(arr1,arr2)实现。数组的元素级相除(点除),可以使用arr1/arr2或np.divide(arr1,arr2)实现。任务实施二、数组的基本操作与索引(二)数组的基本操作

2.统计操作Python#统计数组中的最大值、最小值、平均值等print("最大值:",np.max(arr))print("最小值:",np.min(arr))print("平均值:",np.mean(arr))print("总和:",np.sum(arr))np.max(),np.min()分别求得数组中的最大值和最小值。np.mean()计算平均值。np.sum()计算所有元素的和。3.赋值操作Python#改变数组的一部分arr[1,1]=50#将第二行第二列的元素改为50print("修改后的数组:\n",arr)数组可以通过索引操作,直接通过索引赋值可以改变数组中的元素。NumPy的高级功能任务二5.将个人技术学习与国家科技发展需求紧密结合,以技术创新助力国家数字经济建设1.能够利用NumPy的广播规则完成数组运算。NumPy的强大的广播机制,允许不同形状的数组能够进行数学运算,NumPy结构化数组支持存储复杂的数据,NumPy内存映射文件(memmap)通过将磁盘文件映射到内存实现高效的庞大数据集处理,NumPy高级索引技术支持快速访问和操作数组中的数据。NumPy允许定义自己的矢量化函数对数组的每个元素进行操作,还可以使用NumPy执行复杂的线性代数运算,比如傅里叶变换、特定分布随机数生成等,这些高级功能可有效提升我们的工作效率。本任务将引导我们深入地使用NumPy的高级功能。2.能使用NumPy进行条件筛选、排序、唯一值处理以及文件I/O操作。3.能够用NumPy处理线性代数问题(如矩阵乘法、逆矩阵)和生成随机数。4.将NumPy技术能力转化为服务国家重大战略需求的实践动力。任务描述任务目标广播(Broadcasting)是一种强大的机制,它允许对不同形状(shape)的数组进行数学运算,而无需显式地调整这些数组的形状。广播使得不同大小的数组之间能进行元素级的操作,极大地简化了数组操作的代码,特别是在进行数组间的逐元素运算时。NumPy的广播遵循以下基本原则。(1)形状一致。(2)自动扩展。(3)维度匹配。广播机制在NumPy中非常有用,特别是在进行向量与矩阵运算、统计计算(如元素级加减乘除、比较等)时,无需手动循环遍历数组,从而大大提高代码的简洁性和运行效率。一、广播机制条件索引是NumPy中的一种高级索引技术,它允许基于条件语句选择数组中的元素。具体来说,你可以创建一个布尔数组,其中的每个元素都是一个布尔值(True或False),然后使用这个布尔数组来索引目标数组。条件索引非常适合于筛选满足特定条件的数据。条件索引通常包括以下步骤。(1)创建一个或多个条件表达式。(2)评估这些条件表达式,生成一个布尔数组。(3)使用这个布尔数组来索引原数组。二、条件索引二、条件索引pythonimportnumpyasnp#创建一个随机数组arr=np.random.randint(0,10,size=10)print("Originalarray:",arr)#定义一个条件:找出数组中所有大于5的元素condition=arr>5#使用条件索引selected_elements=arr[condition]print("Elementsgreaterthan5:",selected_elements)在这段代码中,我们使用了条件索引来获取条件筛选结果。①arr>5创建了一个布尔数组,表示条件为arr中相应元素是否大于5。②arr[condition]使用这个布尔数组来从原数组arr中选择满足条件的元素python#定义多个条件condition=(arr>5)&(arr<8)#使用条件索引selected_elements=arr[condition]print("Elementsbetween5and8:",selected_elements)条件索引在数据分析和科学计算中非常有用,特别是在以下场景:①筛选数据:快速选择满足特定条件的数据子集。②统计分析:计算满足某些条件的数据的统计量(如平均值、最大值等)。③数据清洗:识别和处理异常值或缺失值。也可以组合多个条件来创建更复杂的逻辑索引。例如,找出数组中大于5且小于8的元素:三、数组数学运算与统计函数(一)数学运算Pythonimportnumpyasnp#创建示例数组arr1=np.array([1,2,3])arr2=np.array([4,5,6])#元素级运算elementwise_sum=arr1+arr2print("元素级加法:",elementwise_sum)#矩阵乘法(dotproduct)matrix_multiply=np.dot(arr1,arr2)print("矩阵乘法结果:",matrix_multiply)#广播机制示例arr3=np.array([[0,0,0],[1,1,1],[2,2,2]])broadcasted_add=arr1+arr3print("广播加法结果:\n",broadcasted_add)在这段代码中,+运算符用于执行元素级加法,即对应位置的元素相加。np.dot()函数用于计算两个数组的点积(矩阵乘法),适用于一维数组或更高维度数组。广播机制允许不同形状的数组在某些条件下进行运算,如上例中一维数组与二维数组相加时,一维数组沿着某个轴重复以匹配二维数组的形状。三、数组数学运算与统计函数(二)统计函数Python#示例数组data=np.array([[10,20,30],[40,50,60],[70,80,90]])#统计函数示例mean_value=np.mean(data)#计算平均值median_value=np.median(data)#计算中位数std_dev=np.std(data)#计算标准差min_val=np.min(data)#最小值max_val=np.max(data)#最大值sum_val=np.sum(data)#总和print("平均值:",mean_value)print("中位数:",median_value)print("标准差:",std_dev)print("最小值:",min_val)print("最大值:",max_val)print("总和:",sum_val)这段代码使用了多个关于统计方面的函数,具体含义如下。(1)np.mean():计算所有元素的平均值。(2)np.median():返回数组的中位数。(3)np.std():计算数组的标准偏差。(4)np.min():和np.max():分别找到数组中的最小值和最大值。(5)np.sum():计算数组元素的总和。通过这些数学运算和统计函数,NumPy使用户能够高效地处理数组数据,无论是简单的算术运算还是复杂的统计分析,都能轻松应对。四、多维数组与矩阵运算(一)创建多维数组(矩阵)Pythonimportnumpyasnp#创建一个2×2矩阵matrix_a=np.array([[1,2],[3,4]])print("矩阵A:\n",matrix_a)#创建另一个2×2矩阵matrix_b=np.array([[5,6],[7,8]])print("矩阵B:\n",matrix_b)首先,创建一个二维数组(矩阵)作为示例:(二)矩阵加法与减法矩阵加减法遵循元素对齐相加减的规则,也就是对应位置元素的简单加减。Python#矩阵加法matrix_sum=matrix_a+matrix_bprint("矩阵加法结果:\n",matrix_sum)#矩阵减法matrix_diff=matrix_a-matrix_bprint("矩阵减法结果:\n",matrix_diff)四、多维数组与矩阵运算(三)矩阵乘法(点积)Python#使用np.dot()函数matrix_product_dot=np.dot(matrix_a,matrix_b)print("矩阵乘法(np.dot())结果:\n",matrix_product_dot)#使用@运算符matrix_product_at=matrix_a@matrix_bprint("矩阵乘法(@运算符)结果:\n",matrix_product_at)矩阵乘法遵循线性代数中的规则,要求第一个矩阵的列数等于第二个矩阵的行数,结果矩阵的大小为第一个矩阵的行数乘以第二个矩阵的列数。可使用np.dot()函数或@运算符:(四)转置矩阵的转置就是交换它的行和列,即对矩阵进行镜像翻折,行变列,列变行:Pythontransposed_a=matrix_a.Tprint("矩阵A的转置:\n",transposed_a)四、多维数组与矩阵运算(五)行列式与逆矩阵Python#计算行列式det_a=np.linalg.det(matrix_a)print("矩阵A的行列式:",det_a)#求逆矩阵inverse_a=np.linalg.inv(matrix_a)print("矩阵A的逆矩阵:\n",inverse_a)对于方阵(即行数和列数相同的矩阵),可以计算行列式和求逆矩阵。(六)矩阵的迹矩阵的迹是一个标量值,是矩阵对角线上元素的和,有多种数学和物理上的应用。Pythontrace_a=np.trace(matrix_a)print("矩阵A的迹:",trace_a)任务实施1关系销售首先,创建一个3×3的二维数组matrix。2使用np.full()函数和广播机制创建一个与matrix形状相同的数组broadcasted_array,其中所有元素都设置为2。3通过“(matrix>2)&(matrix<6)”创建一个布尔数组,表示matrix中的元素是否大于2且小于6,然后使用这个条件索引来选择满足条件的元素。4使用NumPy的np.sum(),np.mean(),和np.max()函数来计算matrix的总和、平均值和最大值。5创建另一个二维数组other_matrix,并使用np.dot()函数来计算matrix和other_matrix的矩阵乘积,得到新的二维数组product_matrix。下面,我们用一个例子来展示NumPy中广播机制、条件索引、数组计算和统计以及矩阵运算的典型用法。任务实施任务实施我们通过一段Python代码来实现上述流程。执行结果如图2-2-1所示。谢谢观看!Python数据分析Contents数据科学导论与Python环境配置01认识NumPy02Pandas入门03Pandas高级功能04深入Pandas数据分析05PythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysisContentsPandas在实际项目中的应用06数据可视化工具基础07机器学习入门与实践08实践项目与技能提升09PythonDataAnalysisPythonDataAnalysisPythonDataAnalysisPythonDataAnalysis项目三Pandas入门1.能够使用Pandas库基本功能进行编码。对Pandas的学习重点是使用DataFrame和Series这样的强大工具来处理表格数据。DataFrame是Pandas中的二维表格型数据结构,类似于Excel中的表格。Series是一种可以存储任何数据类型的一维数组。Pandas提供了丰富的数据清洗工具,包括处理缺失数据和数据过滤。本任务将带你揭开Pandas的神秘面纱。2.能够使用DataFrame进行基本数据操作。3.能够编程实现清洗数据和处理缺失数据。4.树立正确的数据价值观,恪守数据安全与隐私保护的职业道德规范。任务描述任务目标5.培养数据思维,学会从数据角度思考问题。6.树立正确的数据价值观,恪守数据安全与隐私保护的职业道德规范。(一)认识SeriesSeries是Pandas提供的一种一维数组数据结构,它包含索引和数据值。Series可以被看作是一个带有索引的列,每个数据值都对应一个索引。Series的数据结构是非常有用的,因为它可以处理各种数据类型,同时保持高效的数据操作能力。Series的结构如右图所示,左侧为索引列,右侧为元素。一、Series构建(二)Series的特点一、Series构建Series是一维的,这意味着它只有一个轴(或维度),类似于Python中的列表。(1)一维数组每个Series都有一个索引,它可以是整数、字符串、日期等类型。如果不指定索引,Pandas将默认创建一个从0开始的整数索引。(2)索引(3)Series可以容纳不同数据类型的元素,包括整数、浮点数、字符串、Python对象等。数据类型Series可以包含缺失数据,Pandas使用NaN(NotaNumber)来表示缺失或无值。(6)缺失数据Series支持各种操作,如数学运算、统计分析、字符串处理等。(5)操作Series的大小在创建后是不变的,但可以通过某些操作(如append或delete)来改变。(4)大小不变性(三)Series创建方法一、Series构建指定Series的数据类型。可以是NumPy的数据类型,例如64np.float64等。如果不提供此参数,则根据数据自动推断数据类型。Series的名称,用于标识Series对象。如果提供了此参数,则创建的Series对象将具有指定的名称。Series的数据部分,可以是列表、数组、字典、标量值等。如果不提供此参数,则创建一个空的Series。Series的索引部分,用于对数据进行标记。可以是列表、数组、索引对象等。如果不提供此参数,则创建一个默认的从0开始的整数索引。是否复制数据。默认为False,表示不复制数据。如果设置为True,则复制输入的数据。是否启用快速路径。默认为False。启用快速路径可能会在某些情况下提高性能。dataindexdtypenamecopyfastpath(四)主要属性和方法

一、Series构建(1)values:返回Series中的值数组,类型为ndarray。(2)index:返回Series中的索引数组,类型为Index。索引可以是任何类型,包括整数、标签、日期等,用于数据的定位和选取。(3)dtype:返回Series中元素的数据类型。(4)name:返回Series的名称。Series对象可以有一个名称,用于标识或描述该Series。(5)ndim:返回Series的维度,固定为1。(6)shape:返回Series中数据的形状,固定为(n),其中n表示Series的长度。(四)主要属性和方法

一、Series构建(7)size:返回Series中元素的数量,等同于len(series)。(8)empty:返回一个布尔值,表示Series是否为空。Series没有任何元素时,该属性将返回True。(9)head():查看Series的前几个元素。(10)tail():查看Series的最后几个元素。(11)describe():查看Series的统计信息。Pandas的DataFrame是一个功能强大的数据结构,用于处理和分析表格数据。DataFrame是一个二维标签化数据结构,它也可以被理解为一个表格或者一个字典类型的对象。DataFrame可以包含不同的数据类型(整数、字符串、浮点数等),DataFrame是Pandas库中用于数据分析的核心工具,它为数据操作、处理和分析提供了丰富而灵活的方法。二、DataFrame的创建与基本操作(一)DataFrame的特性(1)二维表格。DataFrame呈现为一个二维表格,类似于Excel表格或SQL数据库表,由行和列组成,可以视为多个Series的集合。(2)数据类型多样性。DataFrame的每一列可以是不同的数据类型,包括整数、浮点数、字符串或布尔值等。(3)双索引机制。DataFrame具有行索引和列索引,使其能够快速访问和定位数据。(4)动态调整大小。可以灵活地添加或删除DataFrame的列,这与Python字典的操作相似。(5)自动索引对齐。执行数据操作时,DataFrame会自动根据索引对齐数据。(6)缺失数据处理。DataFrame能够容纳缺失值,通常用NaN表示。(7)数据操作。支持数据的切片、索引和分割等操作。(8)时间序列友好。对时间序列数据提供了特别的操作和索引功能。二、DataFrame的创建与基本操作(一)DataFrame的特性(9)数据访问方法。通过.loc、.iloc和.query()等方法,可以灵活地访问DataFrame中的数据。(10)数据处理能力。包括数据合并、重塑、透视表、分组和聚合等操作。(11)数据可视化。虽然DataFrame不是可视化工具,但可以与Matplotlib、Seaborn等库结合,进行数据的可视化展示。(12)数据读写。支持多种数据格式的输入、输出,包括CSV、Excel、SQL数据库和HDF5等。(13)统计方法。提供了一系列方法来计算描述性统计数据,如.describe()、.mean()、.sum()等。(14)数据合并。可以轻松地与其他DataFrame或Series进行合并、连接或更新。(15)数据转换。可以使用.apply()方法等对数据集中的值进行转换。(16)时间序列分析。支持滚动窗口统计和时间序列分析。二、DataFrame的创建与基本操作二、DataFrame的创建与基本操作(二)Dataframe的创建pythonimportpandasaspddata={'Column1':[1,2,3],'Column2':['A','B','C']}df=pd.DataFrame(data)(1)从字典创建。我们常用字典创建DataFrame,字典的键作为列名,值作为数据。(2)从列表创建。列表创建DataFrame,每个data中的内部列表(如示例中[1,'A'])成为DataFrame的一行。pythondata=[[1,'A'],[2,'B'],[3,'C']]df=pd.DataFrame(data,columns=['Column1','Column2'])(3)从NumPy数组创建。与从列表创建类似,每个内部列表成为DataFrame的一行。pythonimportnumpyasnpdata=np.array([[1,'A'],[2,'B'],[3,'C']])df=pd.DataFrame(data,columns=['Column1','Column2'])(4)从Series列表创建。如果每个Series有相同的索引,它们将并排放置以形成DataFrame。pythons1=pd.Series([1,2,3],name='Column1')s2=pd.Series(['A','B','C'],name='Column2')df=pd.DataFrame([s1,s2])python#CSV文件df=pd.read_csv('filename.csv')#JSON文件df=pd.read_json('filename.json')#Excel文件df=pd.read_excel('filename.xlsx')(6)从结构化数据文件创建。如CSV、JSON、Excel等。(7)使用pd.DataFrame.from_records()创建。这一方式适用于从包含记录的列表创建DataFrame。pythonrecords=[{'Column1':1,'Column2':'A'},{'Column1':2,'Column2':'B'},{'Column1':3,'Column2':'C'}]df=pd.DataFrame.from_records(records)(5)使用pd.DataFrame()直接创建。可以提供一个数据项,该项可以是字典、列表、数组等。pythondf=pd.DataFrame([[1,'A'],[2,'B'],[3,'C']],columns=['Column1','Column2'])二、DataFrame的创建与基本操作(二)Dataframe的创建pythonda

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论