(共28张PPT)
处
程
编
理
4.2.2.1 利用pandas模块处理数据
数
据
Series对象
录
目
01
Pandas模块导入
02
Python常用数据处理拓展模块
Pandas模块——Series对象
03
Pandas模块——创建Series对象
04
Pandas模块——查看Series对象中的数据
05
Pandas模块——修改Series对象中的数据
06
问题提出
问题:
中国哪几个姓是大姓? 新安江中学情况如何?
解决:
有无可查之处或可查之人?需要处理么?
https://news./202102/228144.html
学校提供的名单
用排序筛选要统计所有姓氏人数比较困难
问题提出
※ 用excel处理数据方便、对专业要求低,但适用于小数据样本,且适用较为单一的功能需求。
如何更灵活、更深入、更快捷地进行数据分析与挖掘?
用计算机编程处理数据
总结:数据处理可以使用现成的软件或平台,也可以通过编写程序实现。Python语言丰富的标准模块和扩展库提供了许多高效灵活的函数,可以帮助我们较好地进行数据整理。
★ Numpy模块:是科学运算的基础库,主要提供科学计算中常用的随机数、数组运算等基础模块
★ Scipy模块:基于numpy构建的一个模块,增强了在高等数学、信号处理、图像处理、统计等方面的能力
★ Pandas模块:基于numpy实现,主要用于数据的处理与分析,提供了大量处理数据的函数和方法,能方便操作大型数据集
★ Matplotlib模块:绘图库,快速绘图和设置图标的坐标轴、坐标轴刻度、图例等
一、Python常用数据处理拓展模块
★ 基于numpy构建,为数据分析而存在!
★ 一维数据结构Series+二维数据结构DataFrame
★ 可直接读取数据并做处理(高效简单)
★ 兼容各种数据库
★ 支持各种分析算法
一、Pandas模块——数据分析核心工具包
提供了Series和DataFrame两种数据结构。使用这两种数据结构,可以完成数据的整理、计算、统计、分析以及简单可视化。
import 模块名
调用:模块名.函数名()
from 模块名 import 函数名
调用:函数名()
二、Pandas模块导入
提供了Series和DataFrame两种数据结构。使用这两种数据结构,可以完成数据的整理、计算、统计、分析以及简单可视化。
import 模块名 [as 别名]
调用:别名.函数名()
from 模块名 import 函数名 [as 别名]
调用:别名()
二、Pandas模块导入
import pandas as pd
Series是一种一维的数据结构,由一个数组的数据(values)和一个与数据关联的索引(index),索引值默认是从0起递增的整数。列表,字典等都可以用来创建Series数据结构,与列表不同的是,Series的索引可以指定,类型可以是字符串类型。
三、Pandas模块——Series对象
Series对象常用属性 属性 说明
index Series的下标索引,其值默认是从0起递增的整数
values 存放Series值的一个数组
创建方法1:以列表为数据对象创建
import pandas as pd
s=pd.Series([45,46,47])
print(s)
左列:index
右列:values
四、Pandas模块——创建Series对象
创建方法2:以列表为数据对象创建——自定义索引,即标签索引
import pandas as pd
data=[45,46,47]
index=["s01","s02","s03"]
s2=pd.Series(data,index=index)
print(s2)
左列:index
右列:values
四、Pandas模块——创建Series对象
四、Pandas模块——创建Series对象
创建方法3:以字典为数据对象创建
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
print(s)
左列:index
右列:values
字典的键为s对象的索引
五、Pandas模块——查看Series对象中的数据
查看方法1:通过index、values属性访问
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
print(s.index)
print(s.values)
字符串类型:dtype='object'
整型:dtype=‘int64'
通过对象.属性访问
五、Pandas模块——查看Series对象中的所有值
查看方法2: 通过循环访问所有值
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
for i in s:
print(i)
For循环中的对象名代表其values属性值
五、Pandas模块——查看Series对象中的所有值
查看方法3:通过循环访问所有值
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
for i in s.values:
print(i)
五、Pandas模块——查看Series对象中的所有索引
查看方法4:通过循环访问所有索引
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
for i in s.index:
print(i)
五、Pandas模块——查看Series对象中的某个值
查看方法5:通过默认索引访问某个值
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
print(s[0])
print(s[-1])
默认索引/标签索引/索引切片/布尔型索引
五、Pandas模块——查看Series对象中的值
查看方法6:通过标签索引(自定义索引)访问某个或某几个值
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
print(s['小余'])
print(s[['小余','小松']])
默认索引/标签索引/索引切片/布尔型索引
★默认索引切片时:左闭右开
★标签索引切片时:左右皆闭
五、Pandas模块——查看Series对象中的值
查看方法7:通过索引切片访问一串值
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
print(s[0:2])
print(s[‘小余’:'小陈'])
默认索引/标签索引/索引切片/布尔型索引
五、Pandas模块——查看Series对象中的值
查看方法8:通过布尔型索引访问符合条件的所有值
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
print(s[s>30])
print(s[s.values>30])
默认索引/标签索引/索引切片/布尔型索引
六、Pandas模块——修改Series对象中的某个值
修改方法1:通过赋值语句修改某个值:对象名[索引]=值
修改方法2: 通过赋值语句修改某几个值:对象名[索引范围]=值列表
import pandas as pd
data={'小余':45,'小松':30,'小陈':28}
s=pd.Series(data)
s[0:2]=[60,45]
s['小陈']=32
print(s)
课堂练习
1.下列关于pandas模块的说法不正确的是( )
A.Pandas是基于numpy的一种工具,该工具是为了解决数据分析任务而创建的
B.Pandas提供了大量能使我们快速、便捷地处理数据的函数和方法
C.Pandas提供的Series是一种一维数组的对象,他由包含一个数组的数据组成的
D.Pandas模块导入的方法是import pandas as pd
C
2.有Python程序段如下:
import pandas as pd
ser = pd.Series([1,3,5,7])
print(ser.index)
该程序段运行后输出结果为( )
A
课堂练习
3.某班级计划在某商店购买秋季运动会的奖品,奖品数据如下:
商品名称 商品价格(元) 购买数量
笔记簿 15 25
铅笔 2 50
橡皮 5 30
三角尺 6.5 10
圆规 9 10
课堂练习
请你用pandas的Series数据结构,存储以上表格数据。
★创建一个名为s1的变量,用于存储商品价格,
并指定它们的索引分别为:"笔记簿","铅笔","橡皮","三角尺","圆规"。
★创建一个名为s2的变量,用于存储购买数量,
并指定它们的索引分别为:"笔记簿","铅笔","橡皮","三角尺","圆规"。
★请分别计算每种商品的购买金额并存储到s3。
★查询单笔购买金额超过100元的商品有哪些 购买金额分别是多少?
★该商店正进行打折促销活动:
一次购买100元以上200元及以下的商品9折优惠;
一次购买超过200元的商品,其中200元9折优惠,超过200元的部分8折优惠,
请问,该班级实际共消费了多少金额?
商品名称 商品价格(元) 购买数量
笔记簿 15 25
铅笔 2 50
橡皮 5 30
三角尺 6.5 10
圆规 9 10
完整代码
观
谢
谢
看