Python数据分析商科版 课件 项目三 Python数据分析基础_第1页
Python数据分析商科版 课件 项目三 Python数据分析基础_第2页
Python数据分析商科版 课件 项目三 Python数据分析基础_第3页
Python数据分析商科版 课件 项目三 Python数据分析基础_第4页
Python数据分析商科版 课件 项目三 Python数据分析基础_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

项目三Python数据分析基础《Python数据分析》(新商科微课版)陈煜军目录Content项目主题和目标01项目设计和实现02项目小结03项目思考和练习04项目主题和目标01.【项目介绍】本项目以Python数据分析基础为主题,旨在通过实践性的数据分析任务,帮助学习者掌握使用Python进行数据处理、分析和可视化的基本技能。项目通过股票数据的自动化筛选和销售数据的可视化分析两个任务展开,通过具体的案例,让学习者了解和掌握pandas库和matplotlib库的使用,以及数据清洗、数据抽取和可视化分析的方法。【素质目标】1.培养数据分析思维,提高数据敏感度和数据洞察力;2.培养使用Python进行数据处理和分析的能力;3.培养解决实际问题的能力,提高动手实践能力。【知识目标】1.掌握pandas库的基本用法,包括DataFrame的创建、数据清洗、数据抽取等。2.掌握matplotlib库基本用法,包括绘图、数据可视化等。3.掌握数据可视化分析的基本步骤和方法,包括各种常用分析图形的选用以及解读等。【技能目标】1.掌握pandas库的基本用法,包括DataFrame的创建、数据清洗、数据抽取等。2.掌握matplotlib库基本用法,包括绘图、数据可视化等。3.掌握数据可视化分析的基本步骤和方法,包括各种常用分析图形的选用以及解读等。【知识链接】数据分析和可视化是当前大数据时代下的热门话题。随着互联网、物联网、云计算等技术的发展,我们每天都在产生大量的数据。如何从这些数据中提取有价值的信息,并直观地展示出来,已成为许多行业和领域的关键问题。数据分析和可视化为我们提供了一种强有力的工具,可以帮助我们更好地理解数据,发现数据背后的规律和趋势,从而做出更准确的决策。数据分析和可视化通常涉及数据的预处理、探索性数据分析、可视化展示等步骤。数据预处理包括数据清洗、数据转换、数据整合等,旨在将原始数据转换为适合分析和可视化的格式。探索性数据分析通过统计分析、数据挖掘等方法,从数据中提取有价值的信息和模式。可视化展示则通过图表、图形等形式,直观地展示数据分析和挖掘的结果。数据分析和可视化广泛应用于各个领域,如商业、金融、医疗、教育、能源等。例如,在商业领域,通过对客户数据的分析,企业可以更好地了解客户需求,优化产品设计和服务;在金融领域,通过对股票、债券等金融数据的分析,投资者可以更准确地预测市场走势,做出投资决策。数据分析和可视化已成为当前数据驱动时代的重要技能,掌握这些技能将有助于更好地应对数据挑战,发掘数据价值。项目设计和实现2.【思维导图】数据分析基础自动化股票初筛的pandas实现项目三任务一【任务说明】小强是任务五中的投资助理分析员,在最初编写自动化股票初筛程序时,只是简单地使用pandas库进行辅助的读写Excel文件操作,在经过一段时间的使用后,发现股票数据文件可能存在缺失重复等现象,需要对数据进行处理,因此需要重新升级原有的自动化股票初筛程序。任务新采集的数据文件【思政小贴士】职业决策应建立在客观分析基础上,用数据说话,拒绝主观臆断,培养实事求是的职业品格。职业发展需拥抱技术变革,用创新能力助力产业升级,在数字化浪潮中贡献专业力量。【任务说明】本任务中,关注股票同项目二任务五相同,要求同时满足以下条件:序号指标条件1振幅10%<振幅<20%2换手率5%<换手率<10%3动态市盈率小于20倍运行项目二任务五P2-5文件操作与字典应用.py程序运行结果输出数据存在重复现象。【任务设计】本任务没有改变原有任务五的输入输出流程,只是在程序上进行升级任务流程和要求【任务设计】(1)导入相关库(2)读取Excel文件分段参考代码:P3-1pandas数据分析基础-1.py分段参考代码:P3-1pandas数据分析基础-2.py任务通过pandas循环读取【d:\股票数据】目录下的xlsx文件,并在读取文件时将表格数据创建为DataFrame对象。pandas是一个强大的Python数据分析工具库,它基于NumPy库,提供了快速、灵活、直观的数据结构,用于处理结构化数据。pandas提供了丰富的数据操作和分析功能,常用基本函数及其用法,可以查阅【附录五pandas常用基本函数速查表】。pandas数组结构有一维Series和二维DataFrame。【知识链接】pandas【知识链接】SeriesDataFrame的基础,类似于Python中的字典或NumPy数组。每个Series都有一个唯一的索引,可以包含不同类型的数据,如整数、浮点数、字符串等,Series对象的两个重要属性是:index(索引)和value(数据值)。【知识链接】DataFramePandas的核心数据结构,DataFrame的任意一行或者一列就是一个Series对象。它是一个表格型的数据结构,可以看作是一个二维数组或一个带有行标签和列标签的字典。用于存储和操作表格数据。它类似于电子表格或关系数据库中的表,由行和列组成,每列可以包含不同类型的数据。【知识链接】DataFrame创建直接创建可以从字典、列表或者NumPy数组等数据结构,通过DataFrame()方法创建,这里要注意未指定索引情况下,创建DataFrame对象新增索引和行列对应情况。【知识点:缺失值】在Pandas中,使用None或NA来表示缺失值,这些都是同义词,可以互换使用。但是在直接录入时,None可以直接输入,NA需要通过调用pd库使用,即在使用时必须输入pd.NA。缺失值【知识链接】DataFrame创建文件创建可以通过相关方法读取csv或者xlsx文件时自动创建。【任务设计】(3)数据清洗和准备知识点:数据清洗【知识点:数据清洗】数据清洗是对一些没有用的数据进行处理的过程。很多数据存在数据缺失(空值)、数据格式错误、错误数据或重复数据的情况,如果要使数据分析更加准确,就需要对这些没有用的数据进行处理。缺失值清洗:使用

df.dropna()

方法删除DataFrame中包含空值的行和采用df.fillna(填充值)的方法对DataFrame中的空值数据进行固定值填充是两种最简单的缺失值清洗方法,除此以外,也可以采用平均值、中位数、众数、前一个或后一个非缺失值、插值或者自定义其它逻辑填充方式。删除重复行:df.drop_duplicates()是pandas中的一个函数,用于删除DataFrame中的重复行。这个函数可以根据需要删除完全相同的重复行,或者只删除在指定列上有重复值的行。【思政小贴士】数据清洗如同筛沙取金,是保障分析结果可靠性的关键。在职业实践中要坚守数据真实性原则,以诚信态度维护数据分析的公信力。【任务设计】(3)数据清洗和准备针对本任务新采集数据存在缺失值和重复数据的问题,对采集数据进行清洗,删除空值行和重复行,修改P3-1pandas数据分析基础-2.py部分代码:分段参考代码:P3-1pandas数据分析基础-3.py【任务设计】(4)pandas数据分析和处理直接使用pandas库进行数据分析和处理,程序不用再进行DataFrame到Dict(字典)的转换,直接通过数据抽取、筛选和修改的方法实现。知识点:数据抽取

在pandas中,数据抽取通常指的是从DataFrame中选取特定的行和列。这可以通过多种方法实现,包括使用列名、索引、条件表达式等。【思政小贴士】在职业工作中,数据抽取很可能不仅是技术操作,更是伦理实践。在数据处理中必须坚守隐私保护原则,用技术赋能社会的同时筑牢伦理底线。【任务设计】课堂练习:L3-1.2pandas数据抽取方法.py从L3-1.2练习的第3和4部分可以发现,DataFrame的筛选方法可以无需编写循环遍历数据,有效简化筛选条件代码【任务设计】分段参考代码:P3-1pandas数据分析基础-4.py(4)pandas数据分析和处理【任务设计】分段参考代码:P3-1pandas数据分析基础-5.py(5)保存修改后的数据到Excel文件参考L3-1.2练习第3部分,输出通过初筛条件的股票信息。(6)获取通过初筛的股票信息

在保存数据阶段,因为本任务编写的程序没有进行字典转换,仍然为DataFrame结构,可以直接用to_excel方法保存。【任务设计】分段参考代码:P3-1pandas数据分析基础-6.py

在读取北证A股0517.xlsx文件时,因为没有通过初筛的股票,程序输出了空值,重新对P3-1pandas数据分析基础-5.py部分进行调整,修复了这一问题。【思政小贴士】数据分析结果可能影响决策,必须坚守职业道德,确保数据来源合法、处理合规。【任务实现】完整代码整理分段参考代码,整合并调试运行。任务实现过程如下:(1)重新梳理任务流程,针对股票采集数据的新问题,增加了数据清洗过程,删除重复行和有数据缺失的数据行;(2)学习pandas的数据抽取、筛选和数据修改方法,简化筛选过程;(3)根据输出结果对程序进行微调,使输出更加人性化。【任务小结】本任务使用pandas方法对任务五中自动化股票初筛程序的代码进行了修改和优化,增加了数据清洗过程,优化了筛选和数据抽取代码。序号名称简要说明学习目标1pandas库pandas是一个强大的Python数据分析工具库,它基于NumPy库,提供了快速、灵活、直观的数据结构,用于处理结构化数据。pandas提供了丰富的数据操作和分析功能,常用基本函数及其用法,可以查阅本书【附录五pandas常用基本函数速查表】。pandas数组结构有一维Series和二维DataFrame。了解2Series数据结构Series是DataFrame的基础,类似于Python中的字典或NumPy数组。每个Series都有一个唯一的索引,可以包含不同类型的数据,如整数、浮点数、字符串等,Series对象的两个重要属性是:index(索引)和value(数据值)了解3DataFrame数据结构DataFrame是Pandas的核心数据结构,DataFrame的任意一行或者一列就是一个Series对象。它是一个带索引的一维数组,广泛应用于数据处理、分析和可视化,它是一个表格型的数据结构,可以看作是一个二维数组或一个带有行标签和列标签的字典。用于存储和操作表格数据。它类似于电子表格或关系数据库中的表,由行和列组成,每列可以包含不同类型的数据。了解【任务小结】序号名称简要说明学习目标4DataFrame的创建直接创建可以从字典、列表或者NumPy数组等数据结构,通过DataFrame()方法创建,这里要注意未指定索引情况下,创建DataFrame对象新增索引和行列对应情况;文件创建可以通过相关方法读取csv或者xlsx文件时自动创建。熟练掌握5缺失值缺失值在Pandas中,使用None或NA来表示缺失值,这些都是同义词,可以互换使用。但是在直接录入时,None可以直接输入,Na需要通过调用pd库使用,即在使用时必须输入pd.Na。掌握【任务小结】序号名称简要说明学习目标6数据清洗数据清洗是对一些没有用的数据进行处理的过程。很多数据存在数据缺失(空值)、数据格式错误、错误数据或重复数据的情况,如果要使数据分析更加准确,就需要对这些没有用的数据进行处理。缺失值清洗:使用df.dropna()方法删除DataFrame中包含空值的行和采用df.fillna(填充值)的方法对DataFrame中的空值数据进行固定值填充是两种最简单的缺失值清洗方法,除此以外,也可以采用平均值、中位数、众数、前一个或后一个非缺失值、插值或者自定义其它逻辑填充方式。删除重复行:df.drop_duplicates()是pandas中的一个函数,用于删除DataFrame中的重复行。这个函数可以根据需要删除完全相同的重复行,或者只删除在指定列上有重复值的行。熟练掌握7数据抽取在pandas中,数据抽取通常指的是从DataFrame中选取特定的行和列。这可以通过多种方法实现,包括使用列名、索引、条件表达式等。掌握数据可视化基础销售数据的可视化分析项目三任务二【任务说明】在项目二任务四中,我们已经通过Python代码处理了销售数据,并计算出了季度平均销售额。为了更直观地展示这些数据,我们将使用matplotlib库进行数据可视化。可视化能够帮助我们更好地理解和分析数据,发现数据背后的趋势和模式。项目二任务四【任务设计】根据任务要求,结合项目二任务四的统计季度销售数据程序,重新梳理任务流程任务流程和要求【任务设计】(1)导入相关库知识点:matplotlib是一个Python的2D绘图库,它可以生成具有出版品质的图形。通过matplotlib,开发者可以仅需要几行代码,便可以生成折线图、直方图、功率谱、条形图、错误图、散点图等可视化图形,matplotlib提供了丰富的数据操作和分析功能,可以查阅本书【附录六matplotlib常用函数速查表】获取。pyplot是matplotlib库的绘图工具,提供了一系列函数用于绘制图表和图形。通过importmatplotlib.pyplotasplt方式导入,可以直接使用plt作为matplotlib的绘图接口。【知识链接】matplotlib数据可视化的基本步骤运用matplotlib数据可视化包括三个基本步骤:首先对绘图参数进行全局配置,然后编写绘制图形代码,最后进行图形输出。全局配置使用全局参数配置对图表字体、尺寸等相关环境参数进行设置绘制图表画布配置绘制图表输出输出处理(屏幕显示或者保存为文件)分析解读其它要求:注意中文和正负号乱码的处理L3.2-1是一个查阅【附录六matplotlib常用函数速查表】的数据可视化练习,程序输出两个图形,第一个图形一行两列,分别由蓝牙耳机和智能手环的销售月份折线图和二者的散点图构成,第二个图形是一个多条形图单独构成。程序进行了防乱码和画布尺寸处理,同时结果在屏幕上输出【知识链接】matplotlib速查表的使用【课堂练习】L3-2.1matplotlib速查表使用练习.py【任务设计】(2)数据准备数据准备阶段的工作分为两部分,首先要录入月份销售数据,这部分程序可采用原来的程序代码,将销售数据转化为列表变量;其次要统计季度销售数据,原P2-4循环控制和列表程序中,在处理季度销售总额时直接输出,未进行保存,这里要修改程序保存季度销售额,为数据可视化做好准备。分段参考代码:P3-2matplotlib数据可视化基础-2.py【任务设计】(3)数据可视化和解读数据可视化是使用图形和图像来表示数据,以便更容易理解和分析。它涉及将数据转换成视觉形式,如图表、图形和地图,以便用户可以快速识别模式、趋势、关系和异常值。数据可视化是数据分析和决策过程中的关键步骤,它可以帮助用户更好地理解复杂的数据集。数据可视化的关键概念【知识链接】常见matplotlib图形及其作用折线图:用于显示随时间变化的数据趋势,或比较不同数据集的相似性。散点图:用于展示两个变量之间的关系,可以用来识别数据点之间的模式或关联。【知识链接】常见matplotlib图形及其作用条形图:用于比较不同类别的数据,可以是垂直或水平的。饼图:用于显示各个部分占整体的比例关系。【知识链接】常见matplotlib图形及其作用箱线图:用于展示数据的分布情况,特别适合于展示数据的异常值。直方图:用于展示数据的分布情况,特别是连续数据的频率分布。【知识链接】常见matplotlib图形及其作用雷达图:用于展示多个变量的比较,每个变量占据图的一个角度。热力图:用于显示矩阵或数据集中的数值密度,特别适合于显示时间序列数据或地理数据。【知识链接】常见matplotlib图形及其作用小提琴图:结合了箱线图和密度图的特点,用于展示数据分布和中心趋势。误差图:用于展示数据点误差范围,通常与散点图或折线图一起使用。【知识链接】常见matplotlib图形及其作用条形图和折线图组合:用于同时展示分类数据的比较和随时间变化的数据趋势。气泡图:散点图的变种,其中每个数据点的大小表示第三个变量。【知识链接】常见matplotlib图形及其作用地图:用于展示地理数据,如国家、城市或地区的分布情况。这些图形可以根据具体的数据和分析需求进行选择和组合,以达到最佳的数据展示效果。matplotlib的灵活性和可定制性使得它成为数据分析和数据可视化的重要工具。【思政小贴士】选择和调整图表细节如同设计师打造界面,追求可视化的专业与美观。这种精益求精的态度,正是技术人才从合格走向卓越的关键,也是职业价值的核心体现。【任务设计】月份数据的可视化本任务要求对销售数据进行可视化,销售数据包括智能手环和蓝牙耳机的月份销售数据和季度销售数据。根据可视化图形及其作用,月份销售数据方面,可以选择月份折线图显示销售数据随月份变化的趋势;选择箱线图展示智能手环和蓝牙耳机销售数据的分布情况;选择散点图显示智能手环和蓝牙耳机的关联情况。同时,在月份数据可视化前,需要创建月份标签列表。结合【附录六】,编写分段代码分段参考代码:P3-2matplotlib数据可视化基础-3.py【任务设计】月份数据可视化的解读根据月份销售数据折线图显示,蓝牙耳机的销售波动较大,在3-4月份销售额呈大幅上升趋势,4月份之后开始呈下降趋势,6-9月份略有反弹后继续下降,但10月份后略微上升,整体销售在3-4月份大幅上升达到高峰,之后持续下降。智能手环的销售相对平稳,在4-5月份大幅上升,9-10月份有略微上升波动,但之后都基本回归原位。【任务设计】月份数据可视化的解读根据月份销售数据散点图显示,智能手环和蓝牙耳机的销售额都呈现出一定的波动性。有些月份销售额较高,而有些月份则较低。二者的销售无明显的关联趋势。【任务设计】月份数据可视化的解读根据月份销售数据箱线图显示,智能手环的月销售额集中在2.7-3万元左右区间波动,有异常值6.4万元,明显高于箱体正常区间;蓝牙耳机的月销售额集中在8-13万元左右波动,最低4.3万元,最高19.9万元,均值在10万元左右,蓝牙耳机的销售额大幅高于智能手环的销售额,但波动较大,呈下降趋势。【思政小贴士】优化图表样式需兼顾美观与易用。职业发展中要培养审美素养,以用户为中心进行设计,提升技术成果的人文价值。【任务设计】季度数据的可视化选择左右分割的画布显示2个饼图反映智能手环和蓝牙耳机在各个季度的销售占比;选择柱形图和折线图组合展示智能手环和耳机季度销售数据的比较和随时间变化的数据趋势。同时,在季度数据可视化前,需要创建季度标签列表。结合【附录六】,编写分段代码分段参考代码:P3-2matplotlib数据可视化基础-4.py【任务设计】季度数据可视化的解读根据季度销售数据饼图显示,智能手环在第2季度销售额占比最高,达到31.8%,之后是第4、第3和第1季度,占比分别为23.6%、20.0%和24.6%。同理,蓝牙耳机在第2季度的销售额占比最高,达到35.2%,之后是第3、第4和第1季度,占比分别为31.7%、19.8%和13.3%。进一步可以对比分析第2季度是否销售旺季或者行业趋势,以及A公司在该季度有无新品发布或者进行营销或者促销活动等对销售额造成影响的因素。【任务设计】季度数据可视化的解读根据季度销售数据趋势组合图显示,智能手环和耳机在第2季度销售额最高;蓝牙耳机销量在2季度达到最高点,随后逐渐下降,且呈持续下降趋势,智能手环销量整体波动不大,但呈略微上升趋势;在两个产品中,蓝牙耳机销售额大幅高于智能手环,显示蓝牙耳机的市场价值较高;整体来说蓝牙耳机在第二季度的销量达到了峰值,而智能手环的销量则相对稳定,没有出现明显的增长或下降趋势。这可能意味着消费者对蓝牙耳机的市场需求在短期内得到了满足,导致后续季度的销量有所下滑。【思政小贴士】职业实践中要培养系统思维和预测能力,从表象追溯本质,才能真正提升解决复杂问题的能力,用数据洞察力规避潜在风险,实现可持续发展。【任务实现】整理分段参考代码,整合并调试运行。任务实现过程如下:(1)根据数据可视化要求,结合项目二任务四的统计季度销售数据程序,重新梳理任务流程,并根据需要增加季度销售数据列表和月份、季度标签列表;(2)学习matplotlib绘图的步骤和方法,了解常用数据可视化图形及其作用,学会利用速查表编写数据可视化程序;(3)根据数据情况,选择合适的数据可视化图形进行输出,并根据输出图形解读结果。【任务实现】完整代码【任务小结】本任务使用matplotlib方法对项目二任务四的统计季度销售数据程序进行修改和补充,实现数据的可视化输出。相关知识点和如表。序号名称简要说明学习目标1matplotlib库通过matplotlib,开发者可以仅需要几行代码,便可以生成绘图、直方图、功率谱、条形图、错误图、散点图等可视化图形。pyplot是matplotlib库的绘图工具,提供了一系列函数用于绘制图表和图形。通过importmatplotlib.pyplotasplt方式导入,可以直接使用plt作为matplotlib的绘图接口。了解2matplotlib数据可视化编程步骤1.对绘图参数进行全局配置;2.编写绘制图形代码;3.进行图形输出。掌握3matplotlib常用方法速查表通过课堂练习,掌握使用书本【附录六matplotlib常用函数速查表】进行matplotlib绘图编程的方法。熟练掌握4数据可视化是使用图形和图像来表示数据,以便更容易理解和分析。它涉及将数据转换成视觉形式,如图表、图形和地图,以便用户可以快速识别模式、趋势、关系和异常值。熟练掌握【任务小结】序号名称简要说明学习目标5常见matplotlib图形及其作用折线图:用于显示随时间变化

温馨提示

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

最新文档

评论

0/150

提交评论