(共20张PPT)
1、pandas模块
4.2.2 编程处理数据
第2课 DataFrame-基础
一、学习目标:
1、知道DataFrame是什么。
2、学会用字典创建DataFrame对象。
3、知道DataFrame对象的常用属性。
4、学会获取DataFrame对象属性值的方法
5、学会获取和修改DataFrame对象中的值的方法。
二、知识点:
1、DataFrame是什么?
2、如何创建DataFrame对象?
3、如何获取DataFrame对象的属性值?
4、如何获取和修改DataFrame对象中的值?
(1列值,1行值,1个值,)
1、DataFrame是什么?
一种数据结构,pandas模块,二维数组。
包含:1个索引列和n个数据列(即1+n模式)
以下简称:DF
2、如何创建DF对象?
方法1:通过1个相等长度的列表或字典创建。
语法:df=pd.DataFrame(data,index,columns)
参数:data:表示数据,支持Series对象,列表,字典等。
index:表示行索引(行标签)。
columns:表示列标签(列索引)。
返回值:DataFrame对象
方法2:直接读取二维数据文件创建。(下节课介绍)
典型实例
例3 使用相等长度列表的字典构建一个DataFrame对象df1,
存储3名同学的姓名、性别、图书借阅次数数据。
字典创建DF对象df1
import pandas as pd
#列名对齐
pd.set_option("display.unicode.east_asian_width",True)
#字典创建DataFrame对象,默认行索引。
name=["王静怡","张佳妮","李臣武"]
sex=["女","女","男"]
count=[28,56,37]
col=["姓名","性别","借阅次数"]
data={"姓名":name,"性别":sex,"借阅次数":count}
df1=pd.DataFrame(data,columns=col)
print(df1)
3、如何获取DF对象的属性值?
DataFrame对象常用属性 属性 说明
index DataFrame的行索引,其值默认是从0起递增的整数
columns DataFrame的列标签
values 存放DataFrame值的二维数据
T 行列转置
通过“对象名.属性名”的方式获取
典型实例
例5 查看df1对象的索引、列标题、值、列轩置。
#获取该对象的index值
print(df1.index)
#获取该对象的columns值
print(df1.columns)
#获取该对象的values值
print(df1.values)
#行列转置
print(df1.T)
4、如何获取DF对象中的1列值
获取方法:
字典记法:对象名["列标签"]
属性法:对象名.列标签
典型实例
例6 分别获取df1对象中的"姓名","借阅次数"列数据,
并修改"借阅次数"列数据。
#通过字典记法获取1列的值
print(df1["借阅次数"])
#通过属性获取1列的值
print(df1.姓名)
5、如何修改DF对象中的1列值
修改方法:通过赋值语句修改
对象名[“列标签”]=列表
对象名.列标签=列表
典型实例
例6 分别获取df1对象中的"姓名","借阅次数"列数据,
并修改"借阅次数"列数据。
#通过赋值语句修改1列值
df1.借阅次数=[30,52,68]
print(df1)
df1["借阅次数"]=[40,40,40]
print(df1)
6、如何获取DF对象中的1行值
获取方法:布尔型数据选取满足条件的行,
即:条件筛选
对象名[条件表达式]
#获取1行
print(df1[df1["姓名"]=="王静怡"])
#获取多行
print(df1[df1["借阅次数"]>30])
print(df1[df1.性别=="女"])
7、如何获取DF对象中的1个值
获取方法:at[ ]法
对象名.at[行索引,"列标签"]
#通过at[ ]法获取某行某列的值
print(df1.at[0,"姓名"])
8、如何修改DF对象中的1个值
修改方法:通过赋值语句修改
对象名.at[行索引,“列标签”]=值
#通过at[ ]法修改某行某列的值
df1.at[0,"借阅次数"]=100
print(df1)
课堂练习:
某班级计划在某商店购买秋季运动会的奖品,奖品数据如下:
商品名称 商品价格(元) 购买数量
笔记簿 8 25
铅笔 1 20
橡皮 2 15
三角尺 4.5 10
圆规 6 5
问题
请你用pandas的DataFrame数据结构,存储以上表格数据。
1.创建一个名为jpdata的变量,用于存储以上表格数据默认行索引,
列标签为:
“商品名称”,“商品价格(元)”,“购买数量”,“购买金额”
“购买金额”的初值为0。
2.请分别计算每种商品的购买金额并存储到“购买金额”数据列中。
编写代码
import pandas as pd
#列名对齐
pd.set_option("display.unicode.east_asian_width",True)
#编写代码: