内容正文:
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的S