Python 大数据分析与可视化 课件全套 高婷婷 第1-8章 认识大数据 - 智慧消费平台可视化分析_第1页
Python 大数据分析与可视化 课件全套 高婷婷 第1-8章 认识大数据 - 智慧消费平台可视化分析_第2页
Python 大数据分析与可视化 课件全套 高婷婷 第1-8章 认识大数据 - 智慧消费平台可视化分析_第3页
Python 大数据分析与可视化 课件全套 高婷婷 第1-8章 认识大数据 - 智慧消费平台可视化分析_第4页
Python 大数据分析与可视化 课件全套 高婷婷 第1-8章 认识大数据 - 智慧消费平台可视化分析_第5页
已阅读5页,还剩476页未读 继续免费阅读

下载本文档

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

文档简介

认识大数据“Python大数据分析与可视化项目一01项目描述1.1项目描述本项目通过Python语言的学习和实践使学生掌握数据分析和大数据处理的基本技能。项目将涵盖从安装Python环境到使用Python进行数据分析和可视化的全过程。本项目包括Python基础概念、库的使用以及数据可视化的原则和工具。通过本项目,学生将能够理解数据分析的重要性,掌握数据处理和分析的基本方法,并能够使用Python进行简单的数据分析项目。02学习目标1.2学习目标了解数据与大数据的区别及其在现代社会中的应用,能够根据需求选择合适的图表类型。熟悉Python中常用的数据分析库,如NumPy、Pandas、Matplotlib等。掌握Python语言的基本语法和结构。学会安装和使用Python解释器IDLEShell和集成开发环境PyCharm。掌握Python的程序结构并灵活使用。03知识积累1.3知识积累Python是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单又高效的方式进行面向对象编程。一、数据和大数据1.3知识积累如果问什么是数据,每个人根据自己对数据的理解,都会有不同的回答。有的人也许会简单地回答:数据就是数字。其实,数据不仅仅是狭义上的数字,它还可以是具有一定意义的文字、字母、符号,甚至是图形、图像、音频、视频,等等。例如,“1、2、3……”、“晴、阴、小雨、大雨、小雪、雷电”和“人事档案记录、库存记录”等,这些都属于数据。因此,我们可以说,数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。从实用的角度讲,数据是现实世界的一个简化和抽象的表达,可以为我们提供所需要的信息。在计算机科学中,数据是指所有能够输入计算机中并被计算机程序处理的符号的介质的总称,它是用于输入电子计算机中进行处理,具有一定意义的数字、字母、符号和模拟量等的通称。随着社会的发展,计算机能够存储和处理的对象日趋广泛,表示这些对象的数据也随之变得越来越复杂。那么“大数据”这个词是从哪里来的呢?12据资料记载,“大数据”一词最早出现在1983

年著名未来学家阿尔文·托夫勒所著的《第三次浪潮》一书中,该书中提到“如果IBM的主机拉开了信息化革命的大幕,那么‘大数据’才是第三次浪潮的华彩乐章”。所谓的大数据,是指具有数量巨大(无统一标准,一般认为在T级或P级以上,即1012或1015以上)、类型多样(既包括数值型数据,也包括文字、图形、图像、音频、视频等非数值型数据)、处理时效短、数据源可靠性保证度低等综合属性的海量数据集合。随着现代社会的高速发展、科技的日益发达、信息流通需求的快速增长,人与人之间的交流越来越密切,生活也越来越方便,大数据就是我们这个科技时代的产物。一、数据和大数据1.3知识积累大数据这一名词出现后,很多人都希望能够对大数据的特点进行准确描述,其中比较有代表性的是IBM提出的大数据具有“5V”的特点,即Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)、Veracity(真实),如图1-1所示。1.3知识积累Volume(大量)Velocity(高速)Variety(多样)Value(价值)Veracity(真实)一、数据和大数据十九世纪上半叶,随着各种工艺技术的完善,统计图形和专题绘图领域出现了迅猛的发展,目前大多数形式的统计图形都是在此时出现的。在此期间,数据的收集整理范围明显扩大,大量社会管理方面的数据被收集用于分析。数据分析一般会应用到图表,但不可以把数据可视化简单地看作绘制图表。数据分析的处理对象是数据,根据所处理的数据对象的不同,数据可视化可分为科学可视化与信息可视化。科学可视化面向科学和工程领域数据,如三维空间测量数据、计算模拟数据和医学影像数据等,重点探索如何以几何、拓扑和形状特征来呈现数据中蕴含的规律。信息可视化的处理对象则是非结构化的数据,如金融交易、社交网络和文本数据,其核心是如何从大规模高维复杂数据中提取出有用信息。1.3知识积累二、数据分析图表1.3知识积累二、数据分析图表数据可视化能有效解决大规模数据难以直观理解的问题。以工资数据分析为例,当面对图1-2中大量的原始工资表数据时,数据的规律和趋势往往难以一目了然。而图1-3采用的柱形图表达方式,通过将数值数据转化为高度各异的柱形,不仅使数据关系清晰可见,还能让观察者快速把握数据分布特征。通过这种数据可视化处理,原本繁琐的数字信息被转化为易于理解的视觉符号,大大提高了数据分析和决策的效率。这正是数据可视化在现代大数据分析中不可或缺的原因。1.3知识积累二、数据分析图表数据可视化能有效解决大规模数据难以直观理解的问题。以工资数据分析为例,当面对图1-2中大量的原始工资表数据时,数据的规律和趋势往往难以一目了然。而图1-3采用的柱形图表达方式,通过将数值数据转化为高度各异的柱形,不仅使数据关系清晰可见,还能让观察者快速把握数据分布特征。通过这种数据可视化处理,原本繁琐的数字信息被转化为易于理解的视觉符号,大大提高了数据分析和决策的效率。这正是数据可视化在现代大数据分析中不可或缺的原因。1.3知识积累三、数据可视化工具在对数据可视化的过程有了基本的了解之后,很多读者也都十分希望能够马上去创作出自己的数据可视化作品。“工欲善其事,必先利其器”,在开始进行数据可视化设计之前,首先要了解有哪些数据可视化工具可供选择。现在我们就对这些工具进行简单的介绍。随着大数据时代的到来,数据可视化分析已经被广泛应用到各行各业,由于数据可视化需求的增长,数据可视化工具也如雨后春笋般蓬勃发展,视觉元素越来越丰富,展现效果越来越绚丽,应用的门槛也越来越低。如今,在数据可视化方面,有大量的工具可供选用,但是选择哪一种工具最适合,这将取决于数据及可视化数据的目的。有些软件可以快速上手,但是由于这些软件是为了能让更多的人处理自己的数据,因此或多或少进行了泛化。如果我们想根据自己的需要进行更有特色的数据可视化设计,就需要学会编程,而编程必须花时间来学习一门新的编程语言。最佳的选择是根据自己的需要,将某些工具组合起来使用,以创作出心目中理想的数据可视化作品。目前,随着数据可视化的日益普及,涌现出了越来越多无须编程的数据可视化工具,其中还有很多网页在线的数据可视化工具,无须在计算机上进行安装,就可以在线制作数据可视化作品。下面我们对这两类数据可视化工具进行简单的介绍,以便根据需要,选择使用合适的数据可视化工具。如果我们将数据可视化工具进行一个简单的分类,则会有两大类:无须编程的数据可视化工具和需要编程的数据可视化工具。1.3知识积累三、数据可视化工具一、无须编程的数据可视化工具无须编程的数据可视化工具可以分为两类:一类是网页在线的数据可视化工具,另一类则是专业的数据可视化工具。用户只需选择相应的模板,然后输入数据,很快就可以制作出一件数据可视化作品。用户可以通过应用这些工具,借鉴它们的配色、排版,从而提升自己的数据可视化设计经验。网页在线的数据可视化工具的使用非常简单,它们通常会为用户提供大量的数据可视化使用场景及海量的模板。1.3知识积累三、数据可视化工具1.网页在线的数据可视化工具Infogram专业的数据可视化工具的使用难度为中等,面向的对象比较广泛,可视化效果非常好,图表也非常的美观,给用户所提供的设计自由度为中等。专业的数据可视化工具软件中也包含一些办公类软件,如Excel中就包含数据可视化的诸多功能。PiktochartPlotly1.3知识积累三、数据可视化工具Canvas百度图说Excel2.专业的数据可视化工具为了进行专业的数据可视化分析,从连接数据到可视化输出提供一整套解决方案,市场上出现了很多专业的数据可视化工具。由于各个公司的技术实力不同,产品功能强弱也不同。一般来讲,除了提供数据的可视化,这类工具一般还注重数据库连接、数据分析处理及数据挖掘,表现出一整套的商业数据分析逻辑。下面介绍几款常见的专业的数据可视化工具。TableauPowerBI1.3知识积累三、数据可视化工具QlikView魔镜1.3知识积累三、数据可视化工具Excel是Microsoft公司开发的Office系列办公软件中的一个组件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为非常流行的个人计算机数据处理软件。例如,在图表中以折线图形式显示产品B的预期销售情况如图1-4所示。1.3知识积累三、数据可视化工具Tableau最初是斯坦福大学一个计算机科学项目的成果,该项目旨在改善分析流程并让人们能够通过可视化更轻松地使用数据。Tableau在2019年被Salesforce公司收购,如今从非营利组织到全球化企业,Tableau在各行各业的组织中得到了广泛的应用。图1-5所示为使用Tableau制作的饼图,图1-6所示为使用Tableau制作的折线图,图1-7所示为使用Tableau制作的气泡图。1.3知识积累三、数据可视化工具商业智能(BusinessIntelligence,BI)泛指针对大数据的解决方案。PowerBI是Microsoft公司推出的一套智能商业数据分析软件,可以连接来自不同系统的上百个数据源,对数据进行提取、清理、整合、汇总、分析,并能够根据需要改变条件,即时生成美观的统计报表进行发布,帮助企业做出有效的预测和明智的决策。PowerBI整合了一系列工具,主要的3个工具是PowerQuery、PowerPivot和PowerBIDesktop。其中,PowerQuery和PowerPivot基于Excel,PowerBIDesktop独立存在。读者可以在Microsoft官网下载PowerBIDesktop的安装包。用户可以通过PowerBIDesktop创建很多类型的图表。图1-8所示为使用PowerBIDesktop制作的柱状图,图1-9所示为使用PowerBIDesktop制作的折线图,图1-10所示为使用PowerBIDesktop制作的瀑布图。1.3知识积累三、数据可视化工具PowerBI整合了一系列工具,主要的3个工具是PowerQuery、PowerPivot和PowerBIDesktop。其中,PowerQuery和PowerPivot基于Excel,PowerBIDesktop独立存在。读者可以在Microsoft官网下载PowerBIDesktop的安装包。用户可以通过PowerBIDesktop创建很多类型的图表。图1-8所示为使用PowerBIDesktop制作的柱状图,图1-9所示为使用PowerBIDesktop制作的折线图,图1-10所示为使用PowerBIDesktop制作的瀑布图。QlikView是一款完整的商业分析软件,使开发者和分析者可以构建和部署强大的分析应用,使各种终端用户可以以一种高度可视化、功能强大和创造性的方式互动分析重要业务信息。QlikView具有完全集成ETL(Extract-Transform-Load的缩写,即数据获取、转换、装载的过程)工具向导驱动的应用开发环境,拥有强大的AQL分析引擎和一个高度直觉化、使用简单的用户界面。1.3知识积累三、数据可视化工具1.3知识积累三、数据可视化工具01020304拥有全国最大的可视化图形库,拥有多种可视化效果,丰富的组件库中包括示意图、地图和标签云图等,从而使用户能够创建简单的仪表板或绚丽的商业信息图表和可视化效果。大数据魔镜大数据魔镜的易用性极强,业务人员通过简单的拖曳操作就能够制作出想要的图表。自助式分析和普通的报表工具、商业智能相比,大数据魔镜的渲染速度达到秒级别。性能优势大数据魔镜不仅支持Excel、txt等文本类数据源,也支持主流的数据库(如Oracle、SQLServer、MySQL等数据库),还支持各大电商平台、微信、微博等社会化媒体。数据整合大数据魔镜是中国的大数据可视化分析挖掘平台,它除了拥有传统商业智能报表工具所具有的功能,还具有以下几个特点:1.3知识积累三、数据可视化工具05060708大数据魔镜拥有国内领先的大屏幕可视化解决方案,完美兼容LCD屏、液晶屏、PAD屏、智能手机屏幕。四屏合一大数据魔镜会自动选择计算的最优路径,节省一半资源。路径规划大数据魔镜拥有中国最大的自动挖掘算法库,不需要编写代码,只需简单的拖曳操作就可以实现聚类分析、预测模型和关联度模型等复杂挖掘算法,发现数据之间的联系。自动挖掘大数据魔镜不仅支持Excel、txt等文本类数据源,也支持主流的数据库(如Oracle、SQLServer、MySQL等数据库),还支持各大电商平台、微信、微博等社会化媒体。自动建模大数据魔镜是中国的大数据可视化分析挖掘平台,它除了拥有传统商业智能报表工具所具有的功能,还具有以下几个特点:1.3知识积累三、数据可视化工具9大数据处理能力。大数据魔镜具有大数据处理能力。用户可以登录大数据魔镜的官网,在完成免费注册后即可进行各种可视化图表的制作。图1-11所示为使用魔镜制作的折线图,图1-12所示为使用魔镜制作的漏斗图,图1-13所示为使用魔镜制作的饼图,图1-14所示为使用魔镜进行电商数据可视化的案例。二、需要编程的数据可视化工具需要编程的数据可视化工具通常是某种编程语言或需要基于某种编程语言来实现,常用的有基于JavaScript语言的、基于Java语言的、基于Python语言的、基于R语言的,等等。这类工具大多都是免费的、开源的,可以在网络上下载安装相关的可视化组件,它们提供了完善的图形图表支持,使用者可以直接使用代码调用。其中,比较有代表性的有ECharts、Highcharts、Python语言、D3.js、R语言等。这类工具的特点是让数据的调用更加自由,让数据处理量更大,让可视化的设计更多样。1.3知识积累三、数据可视化工具1.3知识积累三、数据可视化工具01020304全称是ApacheECharts,它是一款基于JavaScript语言的开源可视化图表库,能够流畅地运行在PC及移动设备上,兼容当前绝大部分浏览器。。EChartsPython是一种面向对象的动态类型语言,由于其简洁性、易读性及可扩展性而得到了广泛应用。Python最早是由GuidovanRossum于20世纪80年代末和90年代初在荷兰国家数学和计算机科学研究学会设计出来的,目前由一个核心开发团队在维护。Python语言D3的全称是Data-DrivenDocuments。顾名思义,它是一个被数据驱动的文档,其实就是一个JavaScript函数库,开发者可以使用该函数库实现数据可视化。也常被叫作D3.js。D3.js简介界面美观,是一个使用JavaScript语言编写的开源JavaScript函数库。由于它是使用JavaScript语言编写的,因此,在客户端不需要安装Flash插件或Java插件就可以运行,而且运行速度快,开发人员可以利用Highcharts轻松地将交互式图表添加到网站或应用程序中。Highcharts1.3知识积累三、数据可视化工具5R语言R语言是一个开源项目,是从大数据中获取有用信息的绝佳工具,可以在各种主流操作系统上安装使用。R语言是绝大多数统计学家比较满意的分析工具,开源免费,具有强大的统计计算及制图能力,图形功能很强大。R语言是专为数据分析而设计的,使用流程也很简洁,语法通俗易懂,很容易学会和掌握,支持R语言的工具包也有很多,只需把数据载入R软件中,编写一两行代码就可以创建出数据图形。通过以上对各种数据可视化工具的介绍,我们要认识到,虽然有一些国产的数据可视化工具,但是由于技术支撑不够强,因此与国际先进水平仍存在一定差距。为了抢占大数据产业发展制高点,我国在《“十四五”大数据产业发展规划》中提出,要补齐关键技术短板,推动自主开源框架、组件和工具的研发,因此,在今后我们一定会看到有更多功能更加完备、展现能力更强、智能化程度更高的国产数据可视化工具。四、Python简介Python编程语言诞生于20世纪90年代初,由荷兰数学和计算机科学研究学会的天才程序员GuidovanRossum(吉多·范罗苏姆)创造。作为ABC语言的精神继承者,Python继承了其简洁优雅的特质,并在此基础上进行了全面的改进和创新。1989年,荷兰人GuidovanRossum为了克服ABC语言非开放的缺点,并受Modula-3语言的影响,结合UNIXShell和C语言的习惯,开发了一个新的脚本解释程序——Python。Python语言从20世纪90年代初诞生至今,已被逐渐广泛应用于系统管理任务的处理和Web编程。Python现今已经成为最受欢迎的程序设计语言之一。1.3知识积累1231995年:GuidovanRossum在弗吉尼亚州的国家创新研究公司(CNRI)继续他在Python上的工作,发布了该软件的多个版本。2000年5月:GuidovanRossum和Python核心开发团队转到BeO并组建了BeOpenPythonLabs团队。同年10月,BeOpenPythonLabs团队转到DigitalCreations(现为ZopeCorporation)。2001年:Python软件基金会(PSF)成立,这是一个专为拥有Python相关知识产权而创建的非营利组织。42000年10月16日:发布了Python2,该系列稳定版本是Python2.7。2004年以后,Python的使用率呈线性增长。562008年12月3日:发布了Python3,该版本不兼容Python2。2011年1月,Python3被TIOBE编程语言排行榜评为2010年度语言。2021年10月4日:Python正式发布了3.10版本。四、Python简介1.3知识积累782023年10月:Python发布Python3.12.0,2023年12月3日发布了Python3.12.1,2024年2月6日,Python正式发布了3.12.2版本。2024年10月:Python发布Python3.13.0,Python3.13是Python编程语言的最新稳定发布版,包含多项针对语言、实现和标准库的改变。最大的变化包括一个新的交互式解释器,以及支持对于在自由线程模式(PEP703)下运行和即时编译器(PEP744)实验。四、Python简介1.3知识积累五、安装PythonPython是一门解释性脚本语言,因此,要想让编写的代码得以运行,需要先安装Python解释器。1.Python下载打开Python官网下载界面“/downloads/”,如图1-15所示。向下滑动页面,在“ActivePythonReleases”列表框中显示不同版本的Python(Python3.8~Python3.14),如图1-16所示。其中,Python3.14是预计发布的版本,预计2025年10月1日发布。若需要下载3.13版(当时的最新版),则可直接单击Python官网下载界面上的“DownloadPython3.13.0”按钮,下载Python3.13.0的安装程序python-3.13.0-amd64.exe(64位的完整离线安装包)。1.3知识积累五、安装Python2.软件安装(1)双击安装文件python-3.13.0-amd64.exe,弹出“Python3.13.0(64-bit)Setup”对话框中的安装界面“InstallPython3.13.0(64-bit)”,下面介绍该界面中的选项。InstallNow:默认安装且默认安装路径不能更改(一般默认安装在C盘)。Customizeinstallation:自定义安装。Useadminprivilegeswheninstallingpy.exe:勾选该复选框,安装py.exe时使用管理员权限。AddPython.exetoPATH:勾选该复选框,将Python自动加到环境变量中,勾选该复选框,如图1-17所示。这样可以将Python命令工具所在目录添加到系统Path环境变量中,以后开发程序或者运行Python命令会非常方便。1.3知识积累五、安装Python2.软件安装(2)单击Customizeinstallation(自定义安装)按钮,弹出Python3.13.0(64-bit)Setup对话框中的选项设置界面OptionalFeatures,选择默认参数设置,如图1-19所示。(3)单击“Next(下一步)”按钮,进入下一个高级设置画面AdvancedOptions,在“Customizeinstalllocation”文本框更改安装地址(选择的路径应具有写入权限,不建议安装C盘),其余选择默认设置,设置完毕后如图1-20所示。(4)确定好安装路径后,单击Install(安装)按钮,此时对话框内会显示安装进度,如图1-21所示。由于系统需要复制大量文件,所以需要等待几分钟。在安装过程中,可以随时单击Cancel(取消)按钮来终止安装过程。1.3知识积累五、安装Python2.软件安装(5)安装结束后,会出现一个Setupwassuccessful(安装成功)对话框,如图1-22所示。单击Close(关闭)按钮,即可完成Python3.13.0的安装工作。1.3知识积累五、安装Python.安装检查Python安装结束后,需要检查安装是否成功。(1)安装结束后,按下快捷键:win+R,打开“运行”对话框,在“运行”对话框中输入“cmd”命令,如图1-23所示。单击“确定”按钮,打开命令提示符窗口。(2)在命令提示符后输入“Python”,单击回车键,出现如图1-24所示的运行结果,表示Python3.13.0安装成功。1.3知识积累六、Python解释器IDLEShellPython解释器IDLEShell是一个功能完备的交互式编程客户端,在安装Python时会自动安装。在开始菜单中单击Python3.13文件夹中的IDLE(Python3.1364-bit)菜单项,即可启动IDLEShell3.13.0,如图1-25所示。1.3知识积累七、Python基本概念Python是面向对象程序设计(ObjectOrientedProgramming,OOP),其思想主要针对大型软件设计而提出,其软件设计更加灵活,能够很好地支持代码复用和设计复用,并且使得代码具有更好的可读性和可扩展性。在进行面向对象程序设计之前,需要了解设计过程中的一些基本概念:1.对象现实生活的每个相对独立的事物都可以看作一个对象。如一个人、一件衣服。对象是具有某些特性和功能的具体事物的抽象,都具有描述其特征的属性及附属于它的行为。如一件衣服的属性包括品牌、厂家、分类、大小、颜色等;一个人的属性包括姓名、性别、国籍身高、籍贯等。2.类每个对象都有一个类,类是创建对象实例的模板,是对对象的抽象和概括,它包含对所创建对象的属性描述和行为特征的定义。如一件衣服的类可以是“夏装”、“冬装”、“童装”等。1.3知识积累3.定义创建类时用变量形式表示的对象属性称为数据成员或属性(成员变量)。用函数形式表示的对象行为称为成员函数(成员方法),成员属性和成员方法统称为类的成员。格式如下:对象=属性(特征)+方法(行为)python中具有相同属性和方法的对象归为一个类(class),类是对象的抽象化,对象是类的实例化。创建对象格式如下:所有类都有一个名为_init_()的函数,它始终在启动类时执行,使用_init_()函数将值赋给对象属性。七、Python基本概念1.3知识积累4.函数内置函数是指python内嵌的一些函数,通过“函数名()”的方式进行调用。匿名函数:一行代码实现一个函数功能。递归函数:直接或间接调用函数本身的函数自定义函数。自定义函数:通过编写的达到一定功能的函数。5.方法方法通过“"对象.方法名”的方式进行调用。普通方法:直接用self调用的方法。私有方法:函数名,只能在类中被调用的方法。属性方法:@property,将方法伪装成为属性。特殊方法(双下划线〉:用来封装实例化对象的属性,如_init。类方法:通过类名的调用去操作公共模板中的属性和方法。静态方法:不用传入类空间、对象的方法。可以完全独立类外的一个方法,放到某个模块(py文件)中。七、Python基本概念1.3知识积累6.包包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。下面的包是一个包含_init_.py文件的目录,该目录下一定得有_init_.py文件和其它模块或子包。七、Python基本概念8.库库是具有相关功能模块的集合,分为标准库、第三方库以及自定义模块。标准库:下载安装的python里那些自带的模块,python安装后自带的库。第三方库:由其他的第三方机构,发布的具有特定功能的模块,python安装需要载安装的库。自定义模块:用户自己编写模块。函数、类、模块、包、库的关系如图1-29所示。7.模块模块是指.py文件,定义了一些函数和变量,需要的时候就可以导入这些模块,后面章节具体介绍导入方法。1.3知识积累八、Python库Python的一大特色是其丰富的模块库,关于数据分析的模块库包括NumPy、Pandas、Matplotlib、SciPy等,下面介绍如何安装数据分析的模块。1.pip工具安装2.PyCharm加载模块3.导入模块库1.3知识积累九、语法规范Python作为一种高级编程语言,其语法规范对于编写清晰、易于维护的代码至关重要,遵循这些规范可以帮助您写出更加专业和易于理解的Python代码。1.行宽每行代码尽量不超过79个字符,以便于在控制台查看代码,增强代码可读性。2.空行空行并不是Python语法的一部分,其作用主要是分隔两段不同功能或含义的代码,便于代码的维护或重构。通常,函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。其他使用空行的情况如下:模块级函数和定义类之间空两行。类成员函数之间空一行。程序结束后最后留一行空行。函数中使用空行分隔逻辑相关的代码。1.3知识积累九、语法规范3.空格符号(1)在二元运算符两边各空一格[=,-,+=,==,>,in,isnot,and]。(2)在函数的参数列表中,逗号、#和冒号之后要有空格。(3)函数的参数列表中,默认值等号两边不要添加空格。(4)左括号之后,右括号之前不要加多余的空格。(5)字典对象的左括号之前不要多余的空格。(6)不要使用额外的空格。(7)如果注释位于代码旁边,建议与代码之间空两个空格。1.3知识积累十、标识符123由ISO-Latin字符集中的字符(A-Z,a-z)、下划线、数字组成,且第一个字符不能是数字。标识符中不能包含空格、@、#、¥等特殊字符。标识符区分字母大小写。4不能使用python中的保留字。保留字(reservedword)是指在高级语言中已经定义过的标识符,不能再用于命名变量、函数、类、模块和其他对象,否则会报错。Python中的保留字也区分大小写。执行下面的命令,可以查看Python的所有保留字。在程序中自定义的类名、函数名、变量等符号和名称,称为标识符。在Python中,命名标识符应遵循以下规则:1.3知识积累十、标识符56以下划线(_)开头的标识符具有特殊的意义,一般应避免使用相似的标识符。以单下划线开头(_xxx)的标识符表示不能直接访问的类属性,也不能通过from…import…语句导入;以双下划线开头(__xxx)的标识符表示类的私有成员;以双下划线开头和结尾(__xx__)的是Python中专用的标识,表示构造函数。不使用汉字作为标识符,虽然不会报错,但是不建议使用。在程序中自定义的类名、函数名、变量等符号和名称,称为标识符。在Python中,命名标识符应遵循以下规则:1.3知识积累十一、基本符号Python语言基于C++,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。Python中不同的数字、字符、符号代表不同的含义,组成丰富的表达式,能满足用户的各种应用。本节将按照命令不同的生成方法简要介绍各种符号的功能。1.命令提示符在IDLE(Python3.1364-bit)中,指令行“头首”的“>>>”是自动生成的指令输入提示符,表示Python处于准备就绪状态,如图1-33所示。在提示符后输入一条命令或一段程序后按Enter键,Python将给出相应的结果,然后再次显示一个提示符,为输入下一段程序做准备。在脚本文件中,指令前没有提示符,如图1-34所示。1.3知识积累十一、基本符号2.换行Python支持在括号内换行,有以下5种情况:(1)第二行缩进到括号的起始处。(2)第二行缩进4个空格,适用于起始括号就换行的情况。(3)使用反斜杠\换行。二元运算符+和.等应出现在行末。当代码行较长时,也可以用这种方法换行。(4)避免同一行出现多条语句。(5)在if/for/while结构中要换行。3.缩进在Python中,缩进量是可变的,但是所有代码块语句必须包含相同的缩进量。通常统一使用4个空格进行缩进。4.注释符号注释用于对代码的作用和功能进行解释说明,增强代码的可读性,可以出现在代码中的任何位置。Python解释器在执行代码时会忽略注释,不做任何处理。1.3知识积累十二、数据类型数据类型是用一组属性描述其定义、标识、表示和允许值的数据单元。按照数据的结构进行分类,Python中的数据类型主要包括:Number(数值)、String(字符串)、list(列表)、tuple(元组)、sets(集合)、dictionary(字典)。1.数值这里的数值指由阿拉伯数字和一些特殊字符组成的单个的数值,而不是由一组组的数值组成的对象。2.字符串字符串主要由26个英文字母及空格等一些特殊符号组成,在Python中使用单引号或双引号创建。例如‘Python’和“myhometown”。Python不支持单字符类型,单字符(例如‘P’)也是作为一个字符串使用。1.3知识积累十二、数据类型3.列表Python列表是任意对象的有序集合,列表通常由中括号[]创建,元素之间用逗号分隔。这里的任意对象,既可以是列表,也可以是字符串。4.元组元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组变量通过小括号()创建,元素之间用逗号分隔。5.区间range(区间)类似于一个整数列表,使用range()函数创建。1.3知识积累十二、数据类型6.集合集合(set)是一个没有重复元素的无序序列,可以使用大括号{}或者set()函数创建。7.字典字典(dictionary)是一种可存储任意类型对象的可变容器模型。在Python中,字典是除列表以外,最灵活的内置数据结构类型。字典通常由“{}”创建,是一个无序的键(key)值(value)对的集合1.3知识积累十三、程序结构程序结构是指程序的流程控制结构。Python的程序结构大致可分为图1-35所示的顺序结构、选择结构与循环结构三种。1.顺序结构顺序结构是最简单最易学的一种程序结构,它由多个Python语句顺序构成,程序执行时也是由上至下顺序进行的。2.选择结构也称为分支结构,根据条件是否满足执行不同的分支,较常用的是if-else结构。根据分支的多少,python分支结构可分为单分支结构、二分支结构、多分支结构。1.3知识积累十三、程序结构3.循环结构在利用Python进行数值实验或工程计算时,用得最多的是循环结构。循环结构是指在程序中需要反复执行某个语句组而设置的一种程序结构。它由循环体中的条件判断是继续执行某个语句组还是退出循环。在循环结构中,被重复执行的语句组称为循环体。Python常用的循环结构有两种:for循环与while循环。4.异常捕获与处理当Python发生异常时需要捕获处理它,否则程序会终止执行。try-except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错误(python作为脚本语言没有编译的环节,在执行过程中对语法进行检测,出错后发出异常消息)、数据除零错误、从未定义的变量上取值等。1.3知识积累十四、输入输出函数本编制程序时,经常会需要接受用户输入、输出计算结果,以实现程序与用户的交互。本节介绍Python常用的几个输入、输出函数。1.input函数input函数用于提示用户从键盘输入数据、字符串或者表达式,并接收输入值。其调用格式如下:这种格式的功能是以文本字符串prompt为信息给出用户提示,将用户键入的内容赋值给变量,返回字符串类型。1.3知识积累十四、输入输出函数2.print函数print函数用于打印输出。其调用格式如下:1.3知识积累04思维导图1.4思维导图05任务一PyCharm环境搭建与Python程序开发1.5任务一PyCharm环境搭建与Python程序开发本任务指导用户完成从下载、安装PyCharm到配置环境,再到创建项目和编写运行简单Python程序的整个流程,为初学者提供了一个全面而实用的学习路径。整个任务流程帮助初学者快速入门Python编程,并通过实践操作加深对知识的理解和和记忆。1.Python与其他编程语言相比有哪些独特的优势?2.为什么选择PyCharm作为Python开发的集成开发环境?3.Python中的数据类型有哪些?它们之间有何区别?4.面向对象编程在Python中是如何实现的?它有什么优点?5.如何选择合适的Python库来解决特定的问题?任务描述任务思考素养提升春运启航,北京铁路“智”胜购票难——大数据显神威,增开列车暖人心。随着春节的脚步日益临近,一年一度的春运大幕即将拉开。在这个承载着亿万人民归乡心切的特殊时刻,北京铁路部门积极应对购票紧张的挑战,通过大数据分析与可视化技术,精准施策,为旅客提供更加便捷、温馨的出行体验。面对春运期间购票难的问题,北京铁路部门充分发挥大数据的优势,对历年春运数据进行深入挖掘和分析。通过对旅客出行规律、热门线路、高峰时段等信息的精准把握,铁路部门能够提前预测购票紧张的方向和时段,从而有针对性地制定增开列车的计划,如图1-36所示。2024年春运期间,北京局集团公司预计发送旅客3808万人,较2023年增加1250.7万人,增幅48.9%,恢复至2019年的111%。北京地区各主要车站将不同程度增开列车约150对,铁路部门将做好运力梯次投放,及时为购票紧张的方向增开列车。在大数据的支持下,北京铁路部门不仅能够确保增开列车的及时性和准确性,还能够根据实时数据调整列车运行方案,以最大程度地满足旅客的出行需求。这种基于数据的决策方式,不仅提高了铁路运输的效率,也增强了旅客对铁路服务的信任和满意度。1.5任务一PyCharm环境搭建与Python程序开发素养提升除了增开列车外,北京铁路部门还通过大数据分析与可视化技术,优化了售票服务流程。例如,通过分析旅客购票行为数据,铁路部门能够发现售票过程中的瓶颈和问题,进而采取措施加以改进。同时,铁路部门还利用可视化技术,将复杂的数据以直观、易懂的方式呈现给旅客,帮助他们更好地了解车票信息和购票流程。在春运这个特殊时期,北京铁路部门的举措不仅体现了对旅客需求的深刻理解和关注,也展现了现代科技在提升公共服务水平方面的重要作用。通过大数据分析与可视化技术的应用,铁路部门能够更加精准地把握市场动态和旅客需求,为旅客提供更加贴心、周到的服务。1.5任务一PyCharm环境搭建与Python程序开发任务工单任务实施Python作为一种广泛使用的编程语言,因其简洁易读的语法和强大的功能而受到开发者的青睐。而PyCharm作为一款专业的Python集成开发环境(IDE),提供了丰富的工具和插件,极大地提升了编程效率和代码质量。通过使用PyCharm,用户可以更加便捷地进行代码编写、调试和管理,从而更好地掌握Python编程技能。1.下载PyCharm登陆PyCharm的官网下载地址:/pycharm/download/?section=windows,2.安装PyCharm3.配置PyCharm4.创建PyCharm项目文件5.新建目录文件6.新建Python文件7.程序编写和运行1.5任务一PyCharm环境搭建与Python程序开发任务评价1.5任务一PyCharm环境搭建与Python程序开发06任务二

世界杯比赛大数据分析2.6任务二

世界杯比赛大数据分析本任务开发一个针对世界杯足球赛历史数据的综合分析系统。该系统将处理和分析世界杯比赛记录数据(WorldCupMatches.csv),通过数据挖掘和可视化技术,深入了解世界杯比赛的各项统计指标和发展趋势。1.WorldCupMatches.csv中的缺失数据会对分析结果产生多大影响?2.不同年代的世界杯比赛规则可能有所不同,这种情况是否影响我们的分析?3.是否需要考虑异常值(比如异常高的比分)的处理?4.除了现有的统计指标,还有哪些重要的足球比赛指标需要添加?5.能否通过数据发现球队的战术倾向?6.如何通过可视化更好地展示世界杯的历史发展趋势?任务描述任务思考素养提升世界杯比赛大数据分析与大学生体育精神随着信息技术的飞速发展,大数据已经成为现代社会不可或缺的一部分。在体育领域,尤其是像世界杯这样的国际大型赛事中,大数据分析不仅能够为球队提供战术指导,还能帮助球迷更深入地了解比赛背后的故事。在分析西班牙国家足球队在2022年世界杯上的四场比赛数据后,归纳出优缺点。如在控球与传球能力方面:西班牙队在对阵德国和摩洛哥的比赛中,充分展示了其控球和传球的高效率。特别是在与德国的对决中,西班牙的控球率达到了56.1%,完成了647次传球,传球成功率高达87%。这种高水平的控球和传球能力使得西班牙能够在比赛中占据主导地位,有效地控制比赛节奏。这些观察结果不仅展示了球队在场上的技术和战术表现,还揭示了其在心理和团队协作方面的特点。通过对这些比赛数据的收集和分析,不仅能够揭示一些关键性的现象和趋势,还可以引导学生思考这些数据背后的社会意义。西班牙队的控球和传球能力启发学生在团队合作中的重要性,而他们在防守和心理素质方面的不足则提醒我们在面对挑战时需要有更强的适应能力和心理韧性。这样的分析不仅有助于提高学生的数据分析能力,还能够促进他们对体育精神和团队合作的深入理解。2.6任务二

世界杯比赛大数据分析任务工单2.6任务二

世界杯比赛大数据分析任务实施1.设置工作环境(1)启动PyCharm,打开名为ch_01的项目。然后在该项目中新建一个名为SS_01.py的Python文件,在命令编辑窗口输入程序。(2)导入设置了matplotlib的中文字体支持,所有输出信息改为中文,图表标题和坐标轴标签都使用中文。(3)读取当前目录下的csv文件,使用try-except结构实现数据加载和错误处理机制。2.数据预处理定义函数preprocess_data,处理数据中的缺失值和异常值、转换和标准化日期时间格式、去除重复数据记录,实现数据格式验证和清洗。3.基本统计分析定义函数basic_statistics,计算各参赛球队的基本统计数据:进球总数、平均进球、最高进球,失球总数、平均失球、最低失球,净胜球数据,观众人数统计。4.球队表现分析定义函数team_performance_analysis,分析球队整体表现:主场胜率统计、主客场进球对比、半场和全场进球分析。5.数据可视化分析定义函数create_visualizations,绘制历年世界杯主场进球分布箱线图、主客场进球数据对比柱状图、观众人数变化趋势折线图。2.6任务二

世界杯比赛大数据分析任务实施同时,在源文件目录下显示保存的三张可视化图表goals_distribution.png、home_away_goals.png、attendance_trend.png,分别显示历年世界杯主场进球分布箱线图、主客场进球对比柱状图、观众人数趋势折线图,如图1-57所示。这三张图表展示了世界杯比赛在观众规模、进球特征和主客场表现等方面的历史变迁,反映了足球运动的发展规律和现代化趋势。观众人数趋势分析:从1930年到2014年,世界杯比赛的观众人数总体呈上升趋势。2000年前后出现一个显著的观众人数峰值,接近70,000人。1960年代开始,观众人数维持在较高水平,基本保持在40,000-50,000人之间。同时还发现一些关键的时间点:1940年代观众人数经历低谷,可能与二战影响有关。1960-1980年间观众人数相对稳定,维持在50,000人左右。2000年后观众规模趋于稳定,平均在50,000人左右波动。进球分布特征:(1)历史进球分布(2)异常值分析主客场进球对比:(1)主场优势分析(2)发展趋势总的说来,理解世界杯比赛中比赛进球效率整体呈下降趋势,比赛更加均衡和专业化,主场优势在逐渐减弱。2.6任务二

世界杯比赛大数据分析任务评价2.6任务二

世界杯比赛大数据分析拓展提高2.6任务二

世界杯比赛大数据分析Python中的函数是一段封装了特定操作的代码,用于执行一个特定的任务。将代码段封装成函数的过程称为函数定义。自定义函数有以下规则。(1)函数代码块以def关键字开头,后接函数名和括号。(2)任何传入参数和自变量都必须放在括号之间。括号之间可以定义参数。一般根据变量的有效范围将变量分为局部变量和全局变量。当局部变量和全局变量重名时,对函数内部的变量进行赋值后,不影响函数外部的变量。(3)函数的第一行语句可以选择性地使用文档字符串(用于存放函数说明)。(4)函数内容以冒号开头,并且缩进(一般为四个空格),以表示属于该函数的代码块。拓展提高2.6任务二

世界杯比赛大数据分析其中,def为关键字,return表达式

结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。Python函数的注释使用井号(#)开头,后面跟着注释内容。对于多行注释,可使用三引号。注释可以用于解释函数的作用、参数和返回值等信息。谢谢观看“Python大数据分析与可视化电商店主商品订单大数据分析“Python大数据分析与可视化项目二01项目概述2.1项目概述随着电子商务的迅猛发展,电商平台上的商品种类繁多,竞争激烈。为了在众多商品中脱颖而出,商家需要对商品的销售数据进行深入分析,以便更好地了解市场需求、优化商品结构和提升服务质量。本项目通过NumPy对用户行为数据进行深入分析,对店主订单进行大数据分析,帮助店主了解商品销售情况,发现潜在问题,并制定相应的改进措施。通过本次电商店主商品订单大数据分析项目的学习,我们不仅掌握了使用NumPy进行数据处理的基本技能,还深刻体会到了数据分析在商业决策中的重要作用。我们将这些知识和技能应用到实际工作中,不仅可以提高工作效率,还能为企业创造更多价值。同时,我们也认识到了在数据分析过程中必须严格遵守相关法律法规,保护用户的隐私和数据安全,做一个有道德、有责任心的数据分析师。02学习目标2.2学习目标学会NumPy数组的创建与基本操作。学会矩阵与向量的创建。掌握基本的数据分析方法,能够对用户行为数据进行深入分析,提升电商店铺的经营效率和用户体验。03知识积累2.3知识积累NumPy数组是有序的元素序列,向量、矩阵是线性代数中定义的一个数学概念。数组是计算机上的概念,从外观和数据结构上看,二维数组和数学中的矩阵没有区别,一维数组和数学中的向量没有区别。向量、矩阵是特殊的数组,三者关系如图2-1所示。在使用NumPy之前,需要在PyCharm中安装NumPy,然后使用import语句导入NumPy库,并给它设置一个别名np:一、数组数据类型2.3知识积累NumPy支持的数据类型比Python内置的类型要多,基本上可以和C语言的数据类型对应上,其中部分类型对应为Python内置的类型,表2-1列举了常用NumPy基本类型。一、数组数据类型2.3知识积累NumPy的数组对象ndarray是存储数据和有关如何处理数据的信息的数据类型,它描述了数据的以下几个方面:12数据的类型(整数,浮点数或者Python对象)数据的大小(例如,整数使用多少个字节存储)34数据的字节顺序(小端法或大端法)如果数据类型是结构化类型,字段的名称、每个字段的数据类型和每个字段所取的内存块的部分5如果数据类型是子数组,描述它的形状和数据类型二、创建数组2.3知识积累在NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。根据数组中元素的维度将数组分为一维数组、二维数组、多维数组。1.array函数NumPy使用array函数通过直接定义数据创建数组,返回N维数组对象(即ndarray),该函数的调用格式如下:numpy.array(object,dtype=None,

copy=True,

order='K',subok=False,

ndmin=0)参数说明:object:数组,数组接口的任何对象,__array__方法返回数组的对象,或任何(嵌套)序列。dtype:数据类型copy:bool,如果为copy=true(默认值),则复制对象。二、创建数组2.3知识积累order:指定阵列的内存布局,可选址为K(按照元素在内存中出现的顺序排列)、A(原顺序)、C(按行)、F(按列)。subok:bool,如果值为True,则子类将被传递,否则返回的数组将被强制为基类数组(默认)。ndmin:指定数组应具有的最小维数。在Python中,数组的定义是广义的,数组的元素可以是任意的数据类型,例如可以是数值、字符串等。2.一维数组一维数组是最简单的数组,数组只有一个下标,一维数组相当于向量。(1)arange函数arange通过直接定义数据元素个数,而不是定义数据元素来创建数组。此函数的调用格式如下:该调用格式表示创建一个从first_value开始last_value结束,数据元素的增量为step(默认元素增量为1)的数组,dtype定义使用输入数据的类型。(2)linspace函数linspace通过直接定义数据元素个数,而不是数据元素直接的增量来创建一维数组(向量)。该数组可以看成一个是一个等差数列,此函数的调用格式如下:二、创建数组2.3知识积累该调用格式表示创建一个从first_value开始last_value结束,包含number个元素的向量。number默认值为50。endpoint用于设定是否包含last_value,该值为true时,数列中包含stop值,反之不包含,默认是True。retstep如果为True时,生成的数组中会显示间距,反之不显示。dtype用于设置ndarray的数据类型。(3)函数logspace与linspace一样,logspace也通过直接定义向量元素个数,而不是数据元素之间的增量来创建一个对数分隔的数组。logspace的调用格式如下:二、创建数组2.3知识积累表示创建一个从10开始,到10结束,包含number个数据元素的向量。base表示对数log的底数,默认为10。3.二维数组二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中。二维数组相当于矩阵,所以矩阵是数组的子集。在NumPy中,一个阵列如果具有两个以上的维度则被称为多维数组。在NumPy中的多维数组是正常的两维矩阵的延伸。下一节介绍的ones,zeros或rand函数可直接创建多维数组。数组的维数与中括号的个数相关,根据上面的运行结果,第一行运行结果包含一组中括号,表示输出一维数组;第二行运行结果包含两组中括号,表示输出二维数组;第三行运行结果包含三组中括号,表示输出三维数组。二、创建数组2.3知识积累4.多维数组三、特殊数组2.3知识积累一、数值数组NumPy提供了一系列元素为同一数值的数组函数,下面分别进行介绍。1.空数组在NumPy中,空数组使用empty函数表示,该函数的调用格式如下:参数说明:shape:指定数组形状,(m,n)表示生成m行n列dtype:定义数据类型,指定为‘int8'、'uint8'、'int16'、'uint16'、'int32'、'uint32'、'int64'、'uint64'或提供zeros支持的其他类的名称。默认为浮点数,dtype=float。order:'C'用于C的行数组,或者'F'用于FORTRAN的列数组三、特殊数组2.3知识积累2.全零数组在NumPy中,全零数组使用zeros函数表示,该函数的调用格式如下:参数说明:shape:指定数组形状,(m,n)表示生成m行n列dtype:定义数据类型,指定为'int8'、'uint8'、'int16'、'uint16'、'int32'、'uint32'、'int64'、'uint64'或提供zeros支持的其他类的名称。默认为浮点数,dtype=float。order:'C'用于C的行数组,或者'F'用于FORTRAN的列数组三、特殊数组2.3知识积累3.全一数组在NumPy中,全1数组使用ones命令表示,该函数的调用格式如下:参数说明:shape:指定数组形状。dtype:定义数据类型。fill_value:标量(无向量),表示填充数组的值。order:'C'用于C的行数组,或者'F'用于FORTRAN的列数组。三、特殊数组2.3知识积累4.数值数组在NumPy中,使用full函数创建数值数组,该数组元素均为指定数值,该函数的调用格式如下:参数说明:shape:指定数组形状,数组的一维shape为(m)或者(m,);(m,n)表示生成m行n列的二维数组。fill_value:填充数组的值。可以是任何与dtype兼容的标量值,包括数字、字符串等等。dtype:定义数据类型,指定为'int8'、'uint8'、'int16'、'uint16'、'int32'、'uint32'、'int64'、'uint64'或提供zeros支持的其他类的名称。默认为浮点数,dtype=float。order:存储数组元素的顺序。可选参数:默认为'C'(行优先),也可以是'F'(列优先)。like:创建与like数组类似的数组。三、特殊数组2.3知识积累二、随机数组随机数组,顾名思义,随机生成,没有规律,因此每一次生成的随机数组不同。numpy.random模块可方便生成随机数组,返回指定范围内的一个整数或浮点数。1.0到1内随机数组rand和random函数生成[0.0,1.0)之间的随机浮点数数组,size表示数组大小。该函数的调用格式如下:其中,d1,d2,…dn用于指定数组大小,当参数为空时,返回一个随机浮点数,当有一个参数时,返回该参数长度大小的一维随机浮点数数组,以此类推,可以生成二维数组、多维数组。三、特殊数组2.3知识积累三、单位数组在NumPy中,eye函数创建指定大小的单位数组,该函数的调用格式如下:参数说明:N,M:表示数组大小,生成单位数组。k:为对角元素的索引。dtype:定义数据类型,默认为浮点数。order:'C'用于生成C的行数组,或者'F'用于FORTRAN的列数组。在numpy中,identity函数创建n*n的单位数组,该函数的调用格式如下:参数说明:n:该函数与eye函数的区别在于,该函数只能创建方阵,也就是N=M=ndtype:定义数据类型,默认为浮点数。三、特殊数组2.3知识积累四、概率分布数组概率分布是指用于表述随机变量取值的概率规律。在自然现象和社会现象中,大量随机变量都服从或近似服从不同种类的分布.例如,一个地区的男性成年人的身高;测量某零件长度的误差,海洋波浪的高度,半导体器件中的热噪声电流或电压等,都服从正态分布。在间隔时间内放射出a粒子的数目服从指数分布。在Python中,NumPy库的random子模块中包含一些生成服从指定分布随机数组的函数。具体的调用格式见表2-2。1.基本运算数组的基本运算包括加、减、乘、除、乘方、求逆等。与大家所学的线性代数中的定义是一样的,相应的运算符为“+”、“-”、“*”、“\”、“**”四、数组运算2.3知识积累在数组间进行加减乘除时,它的默认行为是逐项乘的。NumPy常用的数学运算函数见表2-3。2.数组形状设置在NumPy中,当数组进行运算时,如果两个数组的形状相同,那么两个数组相乘就是两个数组的对应位相乘,这就要求维数相乘,并且各维度的长度相同。(1)数组变形reshape函数用于改变数组形状,在不更改数据内容的前提下,重新定义数组的形状。该函数是一个非常实用的工具,可以用于将一个数组转换成任意形状的数组。该函数的调用形式如下:四、数组运算2.3知识积累参数说明:a:需要重塑的数组。newshape:一个整数或整数元组,定义了数组的新形状。(2)数组广播当运算中两个数组的形状不同使时,为了能更好的进行数组的运算,NumPy引入广播机制。广播(Broadcast)是NumPy对不同形状(shape)的数组进行数值计算的方式。广播的规则如下:如果两个数组的维度数不相同,那么小维度数组的形状将会在最左边补1。如果两个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度为1的维度扩展以匹配另外一个数组的形状。如果两个数组的形状在任何一个维度上都不匹配,并且没有任何一个维度等于1,会引发异常。关于数组广播的函数见表2-4。3.数组的索引在Python中,一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。数组的索引和切片都是对数组元素的引用。4.索引值索引使用下标数组元素引用的方式见表2-5。5.choice函数除了使用索引和切片输出数组元素,NumPy模块中还提供了choice函数,用于从给定的1维数组中随机采样,该函数的调用格式如下:四、数组运算2.3知识积累6.take函数take函数用于沿轴取数组中的元素,该函数的调用格式如下:numpy.take(a,indices,axis=None,out=None,mode='raise')参数说明:a:输入数组。indices:要获取的值的索引。axis:抽取元素的轴。out:将结果放入数组。mode:指定出现超出数组范围的索引是执行的行为模式:'raise'(引发错误)、‘wrap'(循环)、'clip'(剪辑到指定范围)7.choose函数choose函数按照索引对数组的元素进行选择,该函数的调用格式如下:numpy.choose(a,choices,out=None,mode='raise')四、数组运算2.3知识积累参数说明:a:索引数组,其中的数必须是整数mode:指定出现超出数组范围的索引是执行的行为模式:mode=‘raise’表示a中数必须在[0,n-1]范围内;mode=wrap’表示a中数可以是任意的整数(signed),对n取余映射到[0,n-1]范围内;mode='clip'表示a中数可以是任意的整数(signed),负数映射为0,大于n-1的数映射为n-1。数组是相同数据类型的元素的集合。数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。1.数组排序NumPy的random子模块提供了两个数组排序函数,shuffle函数和permutation函数。shuffle函数对原数组进行随机排列,该函数的调用格式如下:五、数组元素运算2.3知识积累permutation函数返回一个随机排列的新数组。该函数的调用格式如下:2.遍历数组遍历数组是指把数组中的每个数都读一遍,Python提供了两种遍历数组,输出所有元素的方法。(1)一般情况下,使用for循环遍历数组元素。(2)数组迭代NumPy模块中的nditer函数提供了一种灵活访问一个或者多个数组元素的方式,该函数的调用格式如下:3.数组元素的增减数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。因为数组元素的下表是从0开始,因此索引i表示数组的第i+1个元素。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。数组元素的增减是最基本的数组元素操作,常用的数组元素的增减命令见表2-6。五、数组元素运算2.3知识积累矩阵运算是线性代数中极其重要的部分,利用NumPy对矩阵除了进行一些基本的运算,还可以用NumPy求矩阵的逆与转置。矩阵只能是二维的,而数组可以是任意维度的,矩阵和数组在数学运算上会有不同的结构。除了维度的不同,矩阵是一个矩阵matrix对象,数组是ndarray对象。矩阵是由m×n个数(i=1,2,…,m;j=1,2,…,n)排成的m行n列数表,记成:六、创建矩阵2.3知识积累称为m×n矩阵,也可以记成或。其中,i表示行数,j表示列数。若m=n,则该矩阵为n阶矩阵(n阶方阵)。矩阵的生成主要有两种方法,采用mat函数创建矩阵和采用matrix函数创建矩阵。在numpy中,matrix函数用于创建矩阵,该函数的调用形式如下:NumPy模块的核心就是基于数组的运算,数组的运算效率是最高的。在统计分析过程中,经常会使用到NumPy模块的函数.NumPy模块用于数理统计的函数是较为简单的,其涉及的数学知识是大家都很熟悉的数据分析,比如求均值与方差等。在数学分析中,在给定范围内(相对极值)或函数的整个域(全局或绝对极值),函数的最大值和最小值被统称为极值(极数)。NumPy中的极值统计函数见表2-7。七、统计函数2.3知识积累04思维导图2.4思维导图05任务一

商品投诉订单大数据分析2.5任务一

商品投诉订单大数据分析在本任务中,利用Python的NumPy库构建一个某电商平台

温馨提示

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

评论

0/150

提交评论