表格对象增删改查

目录

  1. 前言:
  2. 表格对象的数据查询: 
  3. 表格对象索引重置:                                     
  4. 表格对象新增列数据:                                
  5. 表格对象删除数据:
  6. 表格对象数据修改:
  7. 实例:
  8. 总结:

come on
前言:

在数据处理和分析领域,表格数据是一种常见的数据形式。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所在的行即满足条件的行
  • 当列索引为":"时(查询所有的列),条件查询语句也可以简写为:表格对象[布尔值序列]

表格对象索引重置:
  1. 表格对象的默认索引从0开始的连续数字索引
  2. 当使用条件查询等对部分进行数据进行筛选的方法时,会导致新的表格对象的索引不连续
  3. 索引不连续时,索引n不再表示第n+1行数据
  4. 所以需要把索引重置为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)

总结:

数据查询可以帮助用户找到需要的数据,进行数据分析、统计和展示等操作,其中条件查询可以帮助用户快速定位所需的数据,提高数据检索的效率和准确性,删除数据可以清理表格中不需要的数据行或列,减少数据量,去除无效或错误的数据,保持数据的整洁和精简,提高数据的质量和可用性,数据修改可以对表格中的数据进行更新和修正,保证数据的准确性和一致性。索引重置可以对数据重新进行编号和排序,便于后续的数据处理和分析,这些操作都是为了更好地管理和利用表格数据,使得数据更加完整、准确和有用。通过这些操作,用户可以更加高效地处理和分析数据,满足不同的数据需求。

fighting
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值