目录
![](https://i-blog.csdnimg.cn/blog_migrate/f80b1fdfbf8454de7ada5e0324144dbb.png)
前言:
在数据处理和分析领域,表格数据是一种常见的数据形式。Python作为一种强大的编程语言,提供了多种库来处理表格数据。其中,Pandas库是其中最受欢迎的库之一,它提供了丰富的数据结构和操作方法,可以方便地进行表格数据的增删改查。使用Pandas库进行表格数据的增删改查操作,包括增加数据行、删除数据行、修改数据和查询数据等操作。
表格对象的数据查询:
通过序列对象查询数据
- 访问单列:表格名称 ['序列名称'] [索引]
- 访问多列:表格名称[['列名称1','列名称2',...]] [行索引]
#导入需要的库 import pandas as pd
读取数据如下:
df[['顾客类型','性别']][:5] #前面5行
loc方法
调用语法:表格对象.loc[n,'列名称']
- 访问单列:表格对象.loc[行索引,'列名称']
- 访问多列:表格对象.loc[行索引,['列名称1','列名称2',...]]
iloc方法
调用语法:表格对象.iloc[n,m]
- 表格对象.iloc[行索引,列索引]
- 和loc方法的区别主要在列索引,iloc中的列索引表示列的序号,接收的是数字
#第4、5、6列 df.iloc[:,[3,4,5]]
#第4列到第6列(不包括第6列) df.iloc[:,3:6]
表格对象数据的条件查询
条件查询即查询满足一定条件的数据(行)
一般有两种方法实现条件查询:
query方法
- 语法:表格对象.query(查询条件字符串)
- 查询条件字符串:例如:'a>1','性别=="男"','a>1 and b==2'
loc方法
- 语法:表格对象.loc[ 布尔值序列 , 列索引 ]
- 布尔值序列由一个序列对象做条件判断运算得到,如:df['年龄']==18
- 布尔值序列中True所在的行即满足条件的行
- 当列索引为":"时(查询所有的列),条件查询语句也可以简写为:表格对象[布尔值序列]
表格对象索引重置:
- 表格对象的默认索引从0开始的连续数字索引
- 当使用条件查询等对部分进行数据进行筛选的方法时,会导致新的表格对象的索引不连续
- 索引不连续时,索引n不再表示第n+1行数据
- 所以需要把索引重置为0开始的连续数字索引
df2 = df.loc[df['城市']=='城市C',:]
df2
df2.reset_index()
# 以某列数据作为索引
df2.set_index('发票编号')
表格对象新增列数据:
- 概念:表格对象数据新增一般指新增一列
- 思路:将一个序列对象赋值给表格对象新的一列
- 语法:表格对象['新的列名称'] = 新的序列对象
- 注意:新的列名不能和表格对象已有的列名重复
- 案例:新增一列以人民币计算的支付费用
# 1 美元 ≈ 7.29 人民币
# 截取部分数据
df2 = df[['支付方式','支付费用(美元)']]
df2
df2['支付费用(人名币)'] = df2['支付费用(美元)']*7.29
df2
表格对象删除数据:
概念:表格对象行或列数据的删除
语法: 表格对象.drop(n,axis=0)
- 参数n表示行或列的索引
- axis默认为0,表示删除行,axis=1时删除列
# 删除行 df.drop(0) #左 df.drop(1) #右
# 删除列 df.drop('姓名',axis=1)
表格对象数据修改:
思路:先访问,后赋值
语法:访问某个元素的代码=需要赋予的值
注意:赋值需要使用=,不是==,==是判断符号
df = pd.DataFrame( [['张三','男'],['李四','女']], columns=['姓名','性别'] ) df
df['姓名'][0] = '王五' df
实例展示:
【任务一】读取“电影评分.csv”数据集,分别使用序列对象、loc、iloc三种方法查询“电影名称”、“国家”、“评分”3列数据,保存为新的表格,打印该表格。
df = pd.read_csv('电影评分.csv', encoding='gbk', engine='python') print(df[['电影名称','国家','评分']]) print(df.loc[:, ['电影名称','国家','评分']]) print(df.iloc[:,[0,3,5]])
【任务二】使用loc和query两种方法查询“美国”(不包含美国和其他国家合作的)拍摄的所有电影评分数据,结果索引重置后保存为新的表格,打印该表格。
df.query('国家=="美国" ' ) df.loc[df['国家']=='美国']
结果如下:
【任务三】删除“电影评分.csv”表格对象的最后一列(评论人数),结果保存为新的表格,打印该表格。
df.drop('评论人数',axis=1)
结果如下:
【任务四】将“国家”中的数据转换为列表的形式,如“美国 / 墨西哥”-->['美国','墨西哥']、“美国”-->['美国']。将新的列保存到表格中,列名称命名为“国家列表”。(提示:字符串分割)
df['国家列表']=df['国家'].apply(lambda x: x.split("/") if x else x) df.to_csv('countries_updated.csv',index=False) df
结果如下:
【任务5】查询“美国”(包含美国和其他国家合作的)拍摄的所有电影评分数据。
df.drop('评论人数',axis=1)
总结:
数据查询可以帮助用户找到需要的数据,进行数据分析、统计和展示等操作,其中条件查询可以帮助用户快速定位所需的数据,提高数据检索的效率和准确性,删除数据可以清理表格中不需要的数据行或列,减少数据量,去除无效或错误的数据,保持数据的整洁和精简,提高数据的质量和可用性,数据修改可以对表格中的数据进行更新和修正,保证数据的准确性和一致性。索引重置可以对数据重新进行编号和排序,便于后续的数据处理和分析,这些操作都是为了更好地管理和利用表格数据,使得数据更加完整、准确和有用。通过这些操作,用户可以更加高效地处理和分析数据,满足不同的数据需求。
![](https://i-blog.csdnimg.cn/blog_migrate/48fdd60bea4261a7f17853f8871c6c1e.jpeg)