(共26张PPT)
第4章
课时14 常用表格数据的处理、大数据处理
信息技术
要点导引·定锚点
课标梳理·微知著
教材重点 课标要求 学业质量水平
常用表格数据的
处理 1.能根据实际需求,对表格数据进行简单整理、计算和可视化呈现
2.能采用合适的方式分析数据和可视化呈现数据,并能从中提取有用信息、形成结论 2-1
大数据处理 1.了解大数据处理架构和基本思路
2.会使用Python进行简单的数据处理,并能从中提取有用信息形成结论 1-1
教材研析·固基础
☆数据处理的核心是数据,在数据分析、挖掘前通常先对数据进行整理。
1
数据整理
(1)目的:数据整理的目的是检测和修正错漏的数据、整合数据资源、规整数据格式、提高数据质量。
(2)常见的数据问题及处理方法
数据问题 处理方法
数据缺失问题 最简单的处理办法是忽略含有缺失值的实例和属性。还可以采用平均值、中间值或概率统计值来填充缺失值
数据重复问题 检测数据集中的重复数据可以从字段和记录两个方面着手,检查到重复数据,在审核后可进行合并或删除等操作处理
数据异常问题 异常数据指数据集中不符合一般规律的数据对象,它可能是要去掉的噪声,也可能是含有重要信息的数据对象
逻辑错误问题 数据集中的属性值与实际值不符,或违背业务规则,或不符合逻辑
格式不一致问题 对于不同来源的数据中存在格式不一致的情况,可根据后续分析和挖掘的需要进行数据转换
典例1 下列有关数据整理的说法错误的是( )
A.采用平均值、中间值或概率统计值来填充缺失值
B.检查到重复数据,在审核后可进行合并或删除操作
C.异常数据不符合一般规律,可直接删除
D.对逻辑错误的数据进行判别和剔除,格式不一致的数据可进行数据转换
解析 异常数据可能是含有重要信息的数据对象,需要进行判别后再决定是否剔除。
C
2
Excel数据计算
1.常用表格数据处理和统计分析的工具:SPSS、SAS、MATLAB等,也可以通过R、Python、Java等计算机语言编程进行数据处理。
2.Excel数据计算与分析常见操作:
(1)公式计算步骤
①选中结果单元格
②输入等号“=”或者单击“插入函数”按钮
③编辑公式(公式显示在编辑栏内)
④回车确认
(2)公式中可以引用函数、单元格、区域、数值、字符等。结果单元格内显示计算结果,编辑栏上显示公式。
(3)常用函数
①SUM求和
例如“=SUM(B1,D2:E5)”,对B1单元格和D2:E5区域的数据求和
②AVERAGE求平均
例如“=AVERAGE(B2:C6,E8)”,对B2:C6区域和E8单元格的数据求平均
③MAX求最大值
例如“=MAX(B1,D2:E5)”,对B1单元格和D2:E5区域的数据求最大值
④MIN求最小值
例如“=MIN(B2:C6,E8)”,对B2:C6区域和E8单元格的数据求最小值
(4)要点:
“=”是公式计算的标志,公式必须以“=”开头。没有“=”,系统认为是普通的字符输入,不予计算。
(5)自动填充 相对引用&绝对引用
①相对引用
<1>被填充单元格和填充的样板单元格公式在形式上保持一致。
<2>填充时公式中行号或列号发生递变,递变值为被填充单元格行号或列号与样板单元格行号或列号的差值。
<3>系统默认在自动填充时发生相对引用
②绝对引用
某些情况下,自动填充时不希望行号或列号发生改变,而因为自动填充会默认发生相对引用的改变,则在不希望变化而实际上发生了变化的行号或列号前加上$锁定不让其发生改变。
③总结规律
<1>按列纵向填充,默认相对引用变化的是行号,若需某行号不变,则需要在样板单元格(作为样板进行自动填充的单元格)相应的行号前加绝对引用符号$进行锁定。
<2>按行横向填充,默认相对引用变化的是列号,若需某列号不变,则需要在样板单元格相应的列号前加绝对引用符号$进行锁定。
④以有公式计算的单元格为样板单元格对其他单元格进行自动填充,则样板单元格和被填充单元格的公式在形式上保持高度一致。
⑤对有公式计算的单元格A进行“复制”操作,在别的单元格B执行“粘贴”操作,等同于A向B自动填充。
3.用Excel软件进行数据计算的一般方法
(1)分析表格数据
(2)抽象计算模型
(3)计算
(4)分析计算结果,描述其含义
典例2 写出下图所示数据中结果单元格的公式。
(1)F2单元格赵文昊同学的总分公式
=SUM(C2:E2)(或=C2+D2+E2)
(2)G2单元格赵文昊同学的平均分公式
=AVERAGE(C2:E2)(或=F2/3)
(3)C18单元格语文学科最高分的公式
=MAX(C2:C16)
(4)C19单元格语文学科最低分的公式
=MIN(C2:C16)
(5)C20单元格的语文“学科百分比(%)”【语文学科总分÷F17单元格中所有学科的总分×100】向右自动填充得到其他两门学科的“学科百分比(%)”数据,求C20单元格的公式
=C17/$F17 100
解析 横向自动填充,默认发生相对引用,被填充单元格的列号相对样板单元格发生改变,而公式中的分母F17单元格不能变化,所以将分母F17单元格的列号F加上$锁定不让它发生改变。
3
数据图表呈现
1.用Excel软件创建图标呈现数据的一般方法:分析表格数据 选择图表类型 创建图表 检查图表,表述数据特征。
2.图表类型:依据数据间的关系选择相应的图表类型。(图表是用视觉形式向人们展示数据的一种方法。常见的图表类型有柱形图、折线图、饼图、雷达图、气泡图等)
图表类型 作用
柱形图 常常用来显示一段时间内数据变化或比较各项数据之间的情况
雷达图 可以用来表现一个周期内数值的变化,也可以用来表现多个对象/维度之间的关系
折线图 常常用来显示随时间而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势
散点图 用于表现2~3个变量之间的关系,以圆点的多少或疏密展示成对的数和它们所代表的趋势之间的关系
饼图 常用于显示一个数据系列中各项的大小与各项总和的比例,也可以显示出整个饼图的百分比
气泡图 一次比较3~4个变量,X轴、Y轴各表示1个变量,第3个变量通过气泡的面积大小表示,第4个变量通过气泡的颜色来体现
4
大数据处理的基本思想与架构
1.大数据处理的分治思想
(1)把一个复杂的问题分成两个或更多相同或相似的子问题,找到求这几个子问题的解法后,再找出合适的方法把它们组合成求整个问题的解法。
(2)若这些子问题还难以解决,可以再把它们分成几个更小的子问题,以此类推,直至求出解为止。
2.大数据处理类型
(1)静态数据:在处理时已收集完成,在计算时不会发生改变的数据,一般采用批处理计算进行处理。
(2)流数据:不间断地、持续地到达的实时数据,随着时间的流逝,流数据的价值也随之降低,可采用流计算进行实时分析。
(3)图数据:现实世界中的许多数据,如社交网络、道路交通等数据,可采用图计算进行处理。
大数据处理类型
3.批处理计算
(1)Hadoop:一个可运行于大规模计算机集群上的分布式系统基础架构,适用于静态数据的批处理计算。
(2)Hadoop计算平台的组成
①Common公共库
②分布式文件系统HDFS
③分布式数据库HBase
④分布式并行计算模型MapReduce
(3)分布式文件系统HDFS
①主要功能是将大规模海量数据以文件的形式、用多个副本保存在不同的存储节点中,并用分布式系统进行管理。
②是一个高度容错性系统,适合部署在廉价的机器上(云盘、网盘的底层一般采用HDFS)。
(4)分布式数据库HBase
建立在HDFS提供的底层存储基础上,采用基于列的存储方式,主要用来存储非结构化数据和半结构化数据,可管理PB级的大数据。
(5)分布式并行计算模型MapReduce
①是一种分布式并行编程模型,能够处理大规模数据集的并行运算,主要由Map(映射)和Reduce(归纳)2个函数构成。
②核心处理思想:将任务分解并分发到多个节点上进行处理,最后汇总输出。
4.流计算:流计算系统可以简单、高效、可靠地实现实时数据的获取、传输和存储,在与数据库、Hadoop、编程语言等整合后可开发出功能强大的实时计算与分析应用。
5.图计算:现实世界中的很多数据是以图的形式呈现的,或者是可以转换为图以后再进行分析的,如社交网络、网络浏览与购买行为、传染病的传播路径等。
6.实时处理与批处理的整合
典例3 下列有关大数据处理的思想与框架的说法正确的是( )
A.大数据采用“分治”思想处理
B.对静态数据进行实时处理
C.Hadoop是对流数据进行批处理的架构
D.实时处理和批处理不能并存
解析 B.静态数据适合进行批处理,流数据才需要实时处理;C.Hadoop是对静态数据进行批处理的架构;D.实时处理和批处理可以并存。
A
典例4 下列关于流数据的描述,不正确的是( )
A.数据必须采集完成后处理
B.数据价值随着时间的流逝降低
C.可以采用流计算进行实时分析
D.实时分析流数据可以得到更有价值的结果
解析 在处理时已经采集完成的数据是静态数据;流数据是不间断地、持续地到达的实时数据,一般采用流计算进行实时分析。因此本题答案为A。
A
典例5 大数据按照类型和处理方式划分,下列选项中错误的是( )
A.静态数据:批处理
B.流数据:流计算
C.图数据:图计算
D.半结构化数据:电子表格
解析 电子表格无法满足大数据的处理。
D(共34张PPT)
第4章
课时15 pandas处理数据
信息技术
课标梳理·微知著
教材重点 课标要求 学业质量水平
pandas数据处理 1.掌握Series数据结构、DataFrame数据结构和DataFrame常用函数
2.能利用软件工具或平台准确而有序地对数据进行整理、组织、计算与呈现 2-2
教材研析·固基础
1
Python进行数据处理时常用的扩展模块
1.numpy:科学计算(随机数、数组运算等)
2.scipy:基于numpy构建。增强了高等数学、信号处理、图像处理、统计等处理能力。
3.matpoltlib:绘图库
4.pandas:基于numpy实现,主要用于数据的处理和分析。
(1)Pandas提供了Series和DataFrame两种数据结构完成数据的整理、计算、统计、分析及简单可视化。
(2)导入pandas模块:
import pandas as pd(导入pandas模块,pd为别名)
典例1 下列扩展模块中用于数据处理和分析的是( )
A.Numpy
B.scipy
C.matpoltlib
D.pandas
D
2
Series
Series是一种一维数组的数据结构,由一个数组的数据和一个与数据关联的索引(index),索引值默认是从0起递增的整数。
属性 说明
index Series的下标索引,其值默认是从0起递增的整数
values 存放Series值的一个数组
①输入数据及输出
代码 结果
import pandas as pd#导入pandas库,别名为pd
s1=pd.Series([166,178,180])
print(s1) 0________166
1________178
2________180
s2=pd.Series([166,178,180],index=['s01','s02','s03'])
print(s2) s01________166
s02________178
s03________180
dtype:int64
s2=pd.Series([166,178,180],\index=['s01','s02','s03'])
print(s2.values)
for i in s2.index:
print(i) [166 178 180]
s01
s02
s03
#输出具体索引号需要通过循环输出
②修改数据
s2=pd.Series([166,178,\180],index=['s01','s02','s03'])
s2[1]=188
s2['s03']=222
print(s2.values) [166 188 222]#可通过默认索引号或指定索引号修改其数据值
典例2 编写Python小程序建立字典存储如图所示Excel中的选手数据;并利用字典生成pandas的Series对象;输出Series对象,并自动进入修改选手年龄的状态(输入选手的姓名、新的年龄值),当输入为0时,退出修改状态;然后输出年龄审核通过(不超过15岁)的选手名单。程序运行界面和代码如下,请在划线处填上合适的代码。
import pandas as pd
dic={'姚佳云':15,'庄怡婷':16,'孙雁\婷':17,'马能':16,'谢震宇':16,'傅怿成':\17,'沈雯雯':15,'王婧':16}
inf=①_________________
print(inf)
while True:
xm=input('请输入需要修改年龄\的人名:')
if ②_______________:
break
nl=int(input('请输入需要修改的\年龄值:'))
③_________________
pd.Series(dic)
xm=='0'
inf[xm]=nl
print(inf)
ans=''
for i in inf.index:
if ④__________________:
ans=ans+''+i
print('通过年龄审核的选手是:',ans)
inf[i]<=15
解析 ①用字典创建一维Series数据对象,参数为对象名。②当输入的姓名xm为字符‘0’时,结束修改状态。③修改Series对象值的格式为:对象名[index]=新值。④for i in inf.index:说明for遍历Series对象inf的索引,i为每次循环遍历到的index,与之相应的value为inf[i],年龄不能大于15岁。
3
DataFrame
1.概念
DataFrame是一种二维的数据结构,类似于关系表的表格型数据结构,由1个索引列(index)和若干个数据列组成,每个数据列可以是不同的类型。DataFrame可以看作是共享同一个index的Series的集合。其中,每列中的元素类型必须一致,而不同的列可以拥有不同的元素类型。创建DataFrame对象的方法很多,通常用一个相等长度的列表或字典来创建。
2.DataFrame对象常用属性
属性 说明
index DataFrame的行索引
columns 存放各列的列标题
values 存放值的二维数据
T 行列转置
3.常用函数
函数名 函数功能 使用方法示例
count() 返回非空(NaN)数据项的数量 df1.count() 每一列非空个数
df1.count(axis=1) 每一行非空数
df1['姓名'].count() “姓名”列非空
个数
sum() 求和,通过axis=0/1确定求和轴向
(axis=0纵向求和,axis=1横向求和) df1.sum() axis默认为0,纵向求和
df1.sum(axis=1) 横向求和
df1.语文.sum() 仅语文列求和
mean() 求平均值,通过axis=0/1确定行列 用法同上
max() 返回最大值 用法同上
min() 返回最小值 用法同上
describe() 返回各列的基本描述统计值,包含非空项数、平均数、标准差、最大值、最小值及4分位差 df1.describe()
df1.语文.describe()
head() 返回DataFrame前n个数据记录(若不设置n,则默认返回前5行) df1.head(2) 返回前2行
df1.head() 返回前5行
tail() 返回DataFrame后n个数据记录 df1.tail(2) 返回后2行
df1.tail() 返回后5行
groupby() 对各列或各行中的数据进行分组,然后可对其中每一组数据进行不同的操作 df1.groupby(″性别″) 按性别分类
df1.groupby(″性别″).mean()
按性别求平均值
sort_values() 排序,通过axis=0/1确定行列,默认为0(列)
通过ascending=True/False设置升序还是降序,默认为True(升序) df1.sort_values(″语文″,ascending =False)
按语文成绩降序排序
drop() 删除数据,通过axis=0/1确定行列,默认为0(行)
注意:不改变原有对象的数据 df2=df1.drop(2)
删除第3行
df3=df1.drop(″性别″,axis=1)
删除“性别”列
append() 在指定对象的结尾插入内容
注意:不改变原有对象的数据 data1={'姓名':'李二','性别':'男','语文':143,'数学':133,'英语':136}
df5=df1.append(data1,ignore_index=True)
在结尾增加一行数据
insert() 在指定位置插入列
注意:改变原有对象的数据 df1.insert(loc=0,column='出生年份', value=[2003,2002,2001,2002])
在第一列插入“出生年份”列
rename() 修改列名或者索引
注意:不改变原有对象的数据 df5=df1.rename(columns={″姓名″:″您的姓名″,″性别″:″您的性别″}) 改变列名
df6=df1.rename(index={0:″a″,1:″b″})
改变索引名
4.主要操作
①创建DataFrame对象
方法1,使用相等长度列表的字典构建一个DataFrame对象。
方法2,直接读取二维数据文件创建DataFrame对象。
pd.read_csv(filename) #从CSV文件导入数据
pd.read_excel(filename) #从Excel文件导入数据
df.to_csv(filename) #导出数据到CSV文件
df.to_excel(filename) #导出数据到Excel文件
②查看DataFrame数据属性
③查看DataFrame常用方法
④axis(轴说明)及行列操作
⑤分组计算
典例3 (2023浙江7月学考)某省2022年全年气象灾害预警数据保存在文件“qxyj.xlsx”中,部分数据如图所示,编写Python程序,统计全年发布次数最多的5种气象预警。
import pandas as pd
df=pd.read_excel(″qxyj.xlsx″) #读文件中的数据
df=df.drop([″预警发布单位″,″预警等\级″,″预警发布时间″],axis=1) #删除列
________________
print(df_s[0:5])
方框中代码由下列语句中的部分语句组成:
①df_g=df.groupby(″预警名称″,as_index=False).sum() #分组求和
②df_g=df_s.groupby(″次数″,as_index=False).sum()
③df_s=df.sort_values(″次数″,ascending=True) #升序排序
④df_s=df_g.sort_values(″次数″,ascending=False)
要实现上述功能,下列选项中正确的是( )
A.①④ B.①③
C.②④ D.③②
A
解析 本题考查Pandas数据处理知识。根据题意,要求统计全年发布次数最多的5种气象预警,因此在使用分组函数groupby()时,分组的依据肯定是“预警名称”,而不是“次数”,故在①②中选择①。从代码print(df_s[0:5])可知,输出的是最前面的五条记录,从而可以判断数据是按照“次数”降序排序的,sort_values函数的参数ascending=False表示降序,故在③④中选择④。故选A。
典例4 某DataFrame对象df,包含“商品编码”“销售价格”“销售日期”等数据列。下列语句中,能将df对象中的数据以“商品编码”为关键字降序排序的是( )
A.df.sort_index(axis=1,ascending=True)
B.df.sort_values('商品编码',ascending=False)
C.df.sort_values('商品编码',ascending=True,inplace=True)
D.df.sort_values('商品编码',ascending=False,inplace=True)
解析 分析题目,发现解决问题的关键在于将df对象中的数据按“商品编码”从大到小排列。df对象中的数据采用DataFrame结构组织,因此可以使用sort_values()函数按“商品编码”降序排列df对象中的数据。参数ascending=False为降序,inplace=True排序结果替换df中数据,因此本题答案为D。
D
典例5 小蓝利用Excel收集了某次足球比赛各国球队相关数据,并保存为“足球赛.xlsx”文件,如图a所示。然后他利用pandas模块进行数据处理,分析小组赛中各支球队的表现。(提示:该比赛共分成8个小组,每个小组4支球队,组内各队之间进行一场比赛,每支球队共比赛3场)
图a
(1)(多选题)小蓝在处理数据前,首先进行了数据整理,则下列步骤正确的是( )(注:全部选对的得2分,选对但不全的得1分,不选或错选的得0分)
A.E4单元格中的数据存在逻辑错误,需要改成3
B.第7行和第8行两行数据重复,直接删除其中一行即可
C.英格兰队的所在行存在数据缺失,故无法确定具体数值
D.阿根廷所在小组的组别格式不一致,应当将其改成C
AD
(2)小蓝利用pandas模块处理图a中的表格数据,其中部分Python程序代码如下。在处理数据的过程中,小蓝提出了以下三项要求。请根据他的要求在划线处填入合适的代码。
①首先计算各球队的小组赛积分。积分计算规则为:胜一场得3分,平局得1分,负一场得0分。
②然后对各球队进行小组排名。小组排名规则为:按积分降序排序。
③最后统计各小组的平均进球数,并绘制成如图b所示的图表。
图b
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=\ ['SimSun']
#设置字体为宋体
df=pd.read_excel('足球赛.xlsx')
df['积分']=①____________________________
dfrank=df.sort_values(②_________,\ascending=False)
print(dfrank)
df2=df.groupby(″组别″).mean()
plt.bar(③________________________,label=″平均\进球″)
plt.legend()
plt.show()
df['胜'] * 3+df['平'](答案不唯一)
'积分'
df2.index,df2.进球
(3)小蓝要从df中筛选出积分至少为4分的球队,下列①的操作可行的是________。(单选,填字母)
A.df.积分>=4
B.[df.积分>=4]
C.df[df['积分']>=4]
C
解析 本题考查pandas数据处理知识。(1)每只球队共比赛3场,E4单元格中的30违背规则,属于逻辑错误,A正确;第7行和第8行的数据有重复部分,需要先合并,B错误;英格兰队所在的B组从比分可以看出,威尔士对伊朗,美国对英格兰,从美国的得分可以得出英格兰“平1负0”,C错误;阿根廷所在小组的组别格式不一致,应转换为统一格式后再进行后续处理,D正确。(2)①首先需要按照小组积分规则计算每支队伍的积分,创建积分列df['积分']=df['胜'] * 3+df['平'] * 1+df['负'] * 0或df['积分']=df['胜'] * 3+df['平'];②需要对各小组排名,排名根据积分列降序排序。③对各小组统计平均进球数时, groupby()默认分类汇总列成为索引。柱形图的X轴组别需要从df2.index获取,Y轴各小组平均进球数需要从df2.进球获取。(3)条件筛选有“积分大于等于4”,一定要有中括号和对象,故C正确。(共40张PPT)
第4章
课时16 文本数据处理、数据可视化
信息技术
课标梳理·微知著
教材重点 课标要求 学业质量水平
文本数据处理、
数据可视化 1.能从实际生活中发现大数据应用的价值,认识到有效数据处理对于提高数据价值的重要意义
2.掌握文本处理方法、数据可视化 1-1
教材研析·固基础
1
利用matplotlib模块绘图
1.概念:Matplotlib是一个绘图库,使用其中的pyplot子库所提供的函数可以快速绘图和设置图表的坐标轴、坐标轴刻度、图例等。
2.matplotlib模块常用绘图函数
函数 说明
figure() 创建一个新的图表对象,并设置为当前绘图对象
plot() 绘制线形图
bar() 绘制垂直柱形图
barh() 绘制水平柱形图
scatter() 绘制散点图
title() 设置图表的标题
xlim()、ylim() 设置X、Y轴的取值范围
xlabel()、ylabel() 设置X、Y轴的标签
legend() 显示图例
show() 显示创建的所有绘图对象
3.Python中引入matplotlib的pyplot子库的方法
import matplotlib.pyplot as plt
典例1 (2023浙江十校联盟)某校的图书管理员想了解下学生的图书阅读情况,将数据库中的数据表导出至“book.xlsx”文件中,读取数据后,界面如图a所示,统计学生图书阅读情况后,绘制图表如图b所示,部分程序代码如下,请在划线处填入合适的代码。
图a
图b
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=\['SimHei'] #用来显示中文标签
df=pd.read_excel(″book.xlsx″)
df1=①______________________________#删除“条形码”列
df1=df1.groupby(″读者姓名″,as_index=\False).书名.count()
df1.rename(columns={″书名″:″借阅次\数″},inplace=True)
df2=df1.sort_values(②______________________________).\head(10) #按统计次数进行降序排序
x=③__________________________________
y=df2[″借阅次数″]
plt.figure(figsize=(20,10))
plt.bar(x,y)
plt.title(″阅读之星TOP10″)
plt.show()
df.drop(″条形码″,axis=1)
″借阅次数″,ascending=False
df2[″读者姓名″](或df2.读者姓名)
解析 ①利用drop函数可删除DataFrame对象的行和列,当删除列时,drop函数第一个参数写列名,第二个参数axis的值应为1(其默认值是0,为删除行),故此处填df.drop(″条形码″,axis=1)。②上文已利用rename函数将列名″书名″修改为″借阅次数″,故此处排序依据应为″借阅次数″,降序时, ascending值应为False(ascending默认值是True,为升序),故此处应填″借阅次数″,ascending=False。③根据图b可知,横坐标的值为″读者姓名″,访问DataFrame对象的数据列有字典方式和属性方式两种,故此处可填df2[″读者姓名″]或df2.读者姓名。
2
利用Python分析数据实践
1.步骤:分析数据 编制程序 查看结果
2.读取外部文件的数据
(1)打开与当前程序相同路径的文本文件(例如:a.txt),读取文件中的数据,文件的编码是UTF-8(如下图所示),打开的文件描述为对象f。
(2)语法格式:f=open('a.txt','r',encoding='utf-8')。
(3)'r'代表以只读方式打开当前文件对象,文件的指针将会放在文件的开头,这是默认模式。
(4)encoding用于指定当前所读文件的编码方式。
(5)file.read([size]):从文件读取指定的字节数(size),若未指定或为负则读取所有。
(6)file.readline([size]):读取整行,包括 ″\n″ 字符。
(7)file.readlines([sizeint]):读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。
(8)file.close():关闭文件。关闭后文件不能再进行读写操作。
3.strip()方法
(1)作用:用于移除字符串头尾指定的字符(默认为空格)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
(2)范例:去除字符串a头尾的 号
4.split()方法
(1)格式:字符串.split('str',num)
(2)作用:通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
(3)参数
str 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num 分割次数。默认为 -1,即分隔所有。
(4)范例:将字符串a用空格作为分隔符切片。
a.split(' ') #第2参数num省略,分隔所有
a.split(' ',1) #第2参数num为1,在遇到第1个空格时切片,将字符串分隔为2部分。
a.split(' ',4) #第2参数num为4,字符串从左到右方向遍历,遇到空格进行切片,切片次数为4,将字符串分隔5部分。
典例2 有如图a的Excel表格数据,用python程序创建一张反映各采价点红富士价格的比较图,如图b所示。部分程序代码如下,请在划线处填入合适的代码。
地区 规格 单位 价格 采价点 采集时间
北京市 红富士一级 元/500克 2.98 北京沃尔玛 3月中旬
北京市 红富士一级 元/500克 4.88 北京大润发 3月中旬
上海市 红富士一级 元/500克 4 上海农贸市场 3月中旬
石家庄市 红富士一级 元/500克 3.98 石家庄沃尔玛 3月中旬
石家庄市 红富士一级 元/500克 6 石家庄大润发 3月中旬
天津市 红富士一级 元/500克 4.5 天津沃尔玛 3月中旬
天津市 红富士一级 元/500克 5 天津大润发 3月中旬
图a
图b
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.read_excel(″test.xlsx″)
x=df[″采价点″]
y=①________________
plt.figure(figsize=(10,5))
#设置图表对象大小
plt.②___________(x,y,color=″g″)
plt.title(″红富士一级价格对比表″)
plt.xlabel(″价格点″)
plt.ylabel(″价格″)
plt.xticks(rotation=90)
plt.③________________
df[″价格″]
bar
show()
解析 本题主要考查数据分析和绘图的综合应用。首先读入excel数据到DataFrame类型的df对象中,X轴坐标值是df[″价格点″],y轴坐标值是df[″价格″]。垂直柱形图用bar()函数,设置标题等选项,最后show()函数显示图表对象。
5.绘图类型(kind参数)
☆bar(垂直柱形图)
☆barh(水平柱形图)
☆plot(线形图)
6.用Hadoop处理姓氏数据
当xm.csv文件数据量至GB、TB时,需采用处理静态大数据的Hadoop架构,编写Map和Reduce函数处理。Map函数中统计每个分片数据中各个姓的人数,统计结果作为Reduce函数的输入,在Reduce函数中汇总每个姓的总计人数。在Hadoop服务器中运行MapReduce任务,系统会自动把任务分配到各个计算机中运行。
典例3 以下Python程序功能为:读取外部文件“选手年龄信息.csv”中每位选手的年龄,输出年龄列表中的最大值、最小值和平均值。外部文件的界面、程序界面和代码如下,请在划线处填上合适的代码。
#以读取模式打开文件
f=①________________________
#list用于存放文件中读取的当前行数据组成的列表([姓名,年龄])
list1=[]
s=0
#for用于遍历读取文件后生成的列表f.readlines(),列表中的每个元素是从文件中读取的一行数据(姓名和年龄之间用逗号分隔)
for line in f.readlines():
list=line.strip().split(②___)
#列表list1用于存放读取的年龄
list1.append(③_________)
s=s+④________________
print('参赛选手年龄最大年龄为:',\max(list1),'岁,最小年龄为:',min(list1),'岁,\平均年龄为:',s/len(list1),'岁')
⑤________________#关闭文件
open('选手年龄信息.csv','r')
', '
list[1]
int(list[1])
f.close()
解析 依照题意,split函数根据逗号分隔。当前行数据读取时,根据逗号将姓名和年龄分隔成列表list 1的两个元素,其中年龄对应的是第2个元素list[1]。将字符串中分离的年龄用int()转换为整型,为后面年龄的累加做好准备。
3
文本数据处理
1.文本数据处理
目的是从大规模的文本数据中提取出符合需要的、感兴趣的和隐藏的信息。目前,文本数据处理主要应用在搜索引擎、情报分析、自动摘要、自动校对、论文查重、文本分类、垃圾邮件过滤、机器翻译、自动应答等方面。
典型的文本处理过程主要包括:分词、特征提取、数据分析、结果呈现等。
(1)中文分词
①基于词典的分词方法,也称作基于字符匹配的分词方法,即在分析句子时与词典中的词语进行对比,词典中出现的就划分为词。
②基于统计的分词方法,统计分词的思想是依据上下文中相邻字出现的频率统计,同时出现的次数越高就越可能组成一个词。在实际应用中,一般是将其与基于词典的分词方法结合使用。
③基于规则的分词方法,通过让计算机模拟人的理解方式,根据大量的现有资料和规则进行学习,达到对文字进行分词的效果。由于中文语言知识的笼统性、复杂性,这种分词方法目前还处于试验阶段。
(2)特征提取
在中文文本分析中可以采用字、词或短语作为表示文本的特征项。相比较而言,词的切分难度比短语的切分难度小且更能表达文本的含义。目前,大多数中文文本分析中都采用词作为特征项,这种词称作特征词。
2.文本数据分析与应用
(1)标签云
标签云用词频表现文本特征,将关键词按照一定的顺序和规律排列,如频度递减、字母顺序等,并以文字大小的形式代表词语的重要性。标签云广泛应用于报纸、杂志等传统媒体和互联网。
(2)文本情感分析
文本情感分析是指通过计算机技术对文本的主观性、观点、情绪、极性进行挖掘和分析,对文本的情感倾向做出分类判断。文本情感分析作为一个多学科交叉的研究领域,涉及自然语言处理、信息检索、机器学习、人工智能等领域。
典例4 下列关于文本数据处理的说法错误的是( )
A.文本内容是结构化数据
B.标签云是文本可视化的一种方式
C.中文文本分析中多数采用词作为特征项
D.特征词通常是用分词算法和词频统计得出的结果
解析 文本内容是非结构化数据。
A
典例5 下列数据处理中,不属于文本数据处理的是( )
A.对简历数据进行关键信息提取,构建人才画像,精准匹配岗位
B.分析消费者的意见数据,挖掘用户观点,辅助运营决策
C.实时监测景区的人流数据,及时导流、限流
D.解析大量合同文档,有效监控风险条款,节省人力和时间成本
解析 C选项主要应用了结构化数据,因此本题答案为C。
C
4
数据可视化
☆概念:是将数据以图形、图像等形式表示,直接呈现数据中蕴含信息的处理过程。
1.可视化的作用
(1)快捷观察与追踪数据
(2)实时分析数据
(3)增强数据的解释力与吸引力
2.可视化的基本方法
☆不同的数据类型决定了可视化的表现形式
(1)时间趋势:展现随时间的推移而变化数据可采用柱形图、折线图等。
(2)比例:展现各部分的大小及其占总体比例关系的数据可以采用饼图、环形图(也称面包圈图)等。
(3)关系:探究具有关联性数据的分布关系,可以使用散点图、气泡图等。
(4)差异:探寻包含多种变量的对象与同类之间的差异和联系,可以采用雷达图。
(5)空间关系:地理数据或者基于地理数据的分析结果可以运用不同颜色或图表直接在地图上进行展示。
3.可视化的工具
(1)常见的数据分析软件中一般包含创建可视化图表功能。主要用于数据可视化的工具有大数据魔镜、Gephi、Tableau 等。
(2)使用Python、R等编写程序代码实现数据的可视化。
(3)可视化工具库,如基于JavaScript的D3.js、Highcharts、Google Charts 等,基于Python 的matplotlib 等。
4.可视化的典型案例
数据以可视化方式展现出来,用户可以通过直观、交互的方式浏览和观察数据,发现数据中隐藏的特征、关系和模式。如“百度地图”“百度指数”“航班飞行实时跟踪地图”等。
典例6 下列不属于数据可视化作用的是( )
A.提高数据处理的智能化程度
B.快捷观察与追踪数据
C.实时分析数据
D.增强数据的解释力与吸引力
A
5
大数据典型应用
☆大数据应用领域:随着大数据在各行业的应用,数据成为核心资产。目前,大数据广泛应用于金融、交通、环境、医疗、能源、农业等行业,极大地促进了各行业的发展。
1.智能交通
(1)交通数据采集:GPS、卡口、视频检测、浮动车、地感线圈等产生的交通流监测数据、视频监控数据、系统数据、服务数据等构筑了交通大
数据。
(2)智能交通服务
智能交通主要通过交通信息服务、交通管理、公共交通、车辆控制、货运管理、电子收费、紧急救援等服务子系统为用户提供服务。其中三个子系统如下:
①交通信息服务系统
②交通管理系统
③电子收费系统
2.电子商务
(1)数据来源:大型电商企业拥有大量用户数据,同时,在交易、营销、供应链、仓储、配送和售后等环节也产生了大量数据。
(2)主要服务:根据电商数据,电商企业的数据平台为商户和客户提供精准营销、供应链管理、智能网站等多种数据服务。
典例7 下列关于大数据应用的说法错误的是( )
A.大数据时代数据是核心资产
B.促进了各行业的发展
C.智能交通中“智能”的基础是人工智能
D.存在用户隐私泄露等负面影响
C
典例8 对“三国简介.txt”文本数据进行分析,输出曹操出现次数的功能程序段如下,请补全代码。
import jieba
import pandas as pd
f=open(″三国简介.txt″,″r″,encoding=\ ″utf-8″)
txt=①___________
words=jieba.lcut(txt)
counts={}
for name in words:
if ②________________: #排除单个字符的分词结果
counts[name]=counts.get(name,\0)+1 #出现次数为1
f.close()
print(″曹操出现次数为:{}″,format\(③________________))
f.read()
len(name)!=1
counts['曹操']
解析 读取文件并通过jieba分词,用字典记录各个词出现的次数,最后输出曹操的次数。(共15张PPT)
第5章
课时17 人工智能及应用
信息技术
要点导引·定锚点
课标梳理·微知著
教材重点 课标要求 学业质量水平
人工智能的产生
与发展 1.理解人工智能的概念,了解人工智能涉及的知识领域以及主要方法
2.了解人工智能的发展历史,初步产生进一步学习人工智能的兴趣 1-1
人工智能的应用 1.了解各类人工智能的特点
2.了解各类人工智能的典型应用 1-1
人工智能对社会
的影响 能理性地看待人工智能技术的发展带来的机遇与挑战,认识到人工智能与人类的和谐共处的必要性 1-2
教材研析·固基础
1
人工智能的产生与发展
1.人工智能:是指以机器(计算机)为载体,模仿、延伸和扩展人类智能,其与人类或其他动物所呈现的生物智能有着重要区别。
2.AI是多学科广泛交叉的前沿科学,除计算机科学外还涉及控制科学、认知科学、心理科学、脑及神经科学、生命科学、语言学、逻辑学、行为科学、教育科学、数理科学等众多学科领域。
3.人工智能的三种主要方法
人工智能的
三种方法 主要特征 典型实例
符号主义(逻辑主义、心理学派) 认为学习或者其他的智能特征原则上均可以被符号精确地描述,从而被机器仿真。智能行为就是对符号的推理和运算。需要手工构造知识库和推理引擎。缺点:可拓展性较弱,难以构建完备的知识库和完善的推理方法 IBM公司的“沃森”、卡内基梅隆大学的NELL、专家系统
联结主义(仿生学派、生理学派) 通过模仿人类大脑中神经元之间的复杂交互来进行认知推理。需要使用大量数据进行训练(基于数据驱动的深度学习)。优势领域:自然语言处理、知识图谱构建、图像分类、语音识别、视频运动提取等 谷歌公司的围棋软件AlphaGo
行为主义(进化主义、控制论学派) 认为智能体可以在与环境的交互——反馈中不断学习,从而提升自己的智能水平。问题引导下的试错学习(强化学习) 家用扫地机器人、围棋人工智能机器人AlphaGo Zero
4.人工智能的发展历程
(1)从计算到智能测试
①三种计算机制(20世纪30年代相继提出)在性能上等效
·原始递归函数
·lambda演算
·图灵机
②计算机的诞生促进了人工智能的发展。
③图灵测试(1950年,图灵):测试机器是否具有智能的一种方法。并不能真正评估人工智能是否具有人的心智。
(2)人工智能登上历史舞台
①1955年8月,“人工智能达特茅斯夏季研讨会”的项目申请书中首次提出了“人工智能”的术语。
②1956 年,研讨会在美国达特茅斯学院如期召开,这标志着人工智能作为一门新兴学科正式诞生。
典例1 下列有关人工智能产生与发展的说法错误的是( )
A.简称AI,是多学科广泛交叉的前沿科学
B.经验主义是实现AI的主要方式之一
C.深度学习是典型的数据驱动的AI方法
D.问题引导下的AI学习体现了自我学习的能力
解析 实现AI的三种主要方式是符号主义、联结主义和行为主义。
B
2
人工智能的应用
1.领域人工智能
(1)定义:依赖于领域知识和数据的人工智能。
(2)特点:具有强大的存储、记忆和搜索能力。
2.跨领域人工智能
(1)定义:指智能系统从一个领域快速跨越到另外一个领域。
(2)特点:不仅依赖于已有数据和已有规则,且专注于知识和技能的获取,能举一反三、触类旁通,开展深度推理。
(3)研究方向:从特殊技能到泛化技能、从单一知识到多源知识、从易到难,永不停息地学习。
3.混合增强智能
(1)定义:多种智能体的混合形式,它将人的作用或人的认知模型引入人工智能系统,形成“混合增强智能”的形态。
(2)特点:在机器智能中以交互形式利用人的知识和智慧,最优地平衡人的智力和计算机的计算能力。
(3)例子:人、机器、物联网和互联网可以结合成智能城市。
(4)注意点:在智能叠加协调的回路中,人类智能是智能回路的总开关。
典例2 (2022浙江7月学考)下列关于人工智能的说法,正确的是( )
A.人工智能处理数据都采用分治思想
B.神经网络解决分类问题不需要训练数据
C.图灵测试是测试机器是否具有智能的一种方法
D.“专家系统”是一种典型的基于数据驱动的人工智能方法
解析 处理大数据一般采用分治思想,不是人工智能,A错误;神经网络模拟人脑神经元的处理方式,需要经过大量数据训练,B错误;专家系统是基于知识库和推理引擎的符号主义人工智能方法,基于数据驱动的人工智能方法典型案例是“深度学习”,D错误。故选C。
C
典例3 (2023浙江1月选考)下列关于人工智能的说法,不正确的是( )
A.深度学习方法一般脱离数据进行学习
B.采用行为主义方法的智能体通过与环境的交互学习提升智能
C.符号主义人工智能的实现依赖对符号的推理和运算
D.人工智能促进社会发展的同时也会带来一定的社会担忧
解析 深度学习是基于数据驱动的人工智能,需要大量数据,因此不能脱离数据进行学习,故选项A错误。
A
3
人工智能对社会的影响
1.人工智能改善人类生活
(1)概念:人工智能技术正快速融入人们的生活,使人们居家、出行、购物、医疗等日常活动越来越便捷。
(2)应用
①智能家居
②智慧城市
③智能出行
④智能购物
2.人工智能促进经济发展
(1)人工智能的发展可以为人类社会带来巨大的经济效益。
(2)通过人工智能技术提高生产力、创造全新的产品和服务。
(3)推动人工智能与实体经济结合,是加快实体经济转型升级的必然发展
方向。
3.人工智能带来的社会担忧
(1)人工智能技术将人类从繁复工作中解脱出来的同时,也会取代一些工作岗位。
(2)人工智能技术在推动人类社会进步的同时,也可能威胁人类安全。
典例4 (2023浙江7月学考)下列关于人工智能的说法,正确的是( )
A.人脸识别和机器翻译是常见的人工智能应用
B.人工智能已经可以代替人类完成所有工作
C.人工智能技术的发展无需依赖计算机技术
D.符号主义人工智能采用问题引导下的试错学习
解析 到目前为止,人工智能还不能代替人类完成所有的工作,故选项B错误;人工智能技术的发展非常依赖计算机技术,故选项C错误;行为主义人工智能采用问题引导下的试错学习,故选项D错误。本题选项A正确。
A