文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python数据分析之Pandas Dataframe怎么修改、删除及查询

2023-06-30 15:27

关注

这篇文章主要介绍“Python数据分析之Pandas Dataframe怎么修改、删除及查询”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python数据分析之Pandas Dataframe怎么修改、删除及查询”文章能帮助大家解决问题。

一、查询操作

可以使用Dataframe的index属性和columns属性获取行、列索引。

import pandas as pddata = {"name": ["Alice", "Bob", "Cindy", "David"], "age": [25, 23, 28, 24], "gender": ["woman", "man", "woman", "man"]}df = pd.DataFrame(data)print(df.index)print(df.columns)df

结果输出如下:

Python数据分析之Pandas Dataframe怎么修改、删除及查询

元素的查询

DataFrame 元素查询有一下几种查询方式:使用[]切片、loc方法、iloc方法、at方法、iat方法等,下面分别介绍一下。

使用[]切片:

和Series数据结果一样,Dataframe也支持使用[]进行切片,使用方式也类似,通过行、列的下标或名称进行指定位置元素的查询。

例如:

# 获取第0行数据df[0:1]# 获取第2-4行数据(不包括4)df[2:4]# 获取某一列df.name  # df["name"]# 获取某几列df[["name", "gender"]]# 获取指定行指定列df[2:4][["name", "gender"]]

通过loc方法和iloc方法:

其中loc方法是以行索引的名称和列索引的名称作为参数使用,iloc方法是以行索引的位置和列索引的位置作为参数使用,具体使用方式如下:

# 获取某行df.loc[1]df.iloc[1]# 获取多行df.loc[1:3]df.iloc[1:3]# 获取某列df.loc[:, "name"]df.iloc[:, 0]# 获取多列df.loc[:, ["name","gender"]]df.iloc[:, [0,2]]

除了上面这些, 这里有一点需要注意一下,就是使用loc方法行索引参数为区间时,区间前后都为闭区间;而iloc为前闭后开区间。

通过at方法和iat方法:

at和iat的使用方法与loc和iloc类似,不同的是,at和iat只能访问单个元素,不能访问多个元素,但是查询速度比loc和iloc更快一些,具体使用如下:

# 查询index为0列名为name的元素df.at[0, "name"]# 查询第2行第1列的元素df.iat[2,1]

说完Dataframe的查询操作,这篇文章就来介绍一下Dataframe数据的修改及删除操作。

二、修改操作

行列索引的修改

Dataframe对象提供了rename()方法修改行索引、列索引,默认修改行索引,可以指定columns参数修改列索引,

具体使用方法如下:

Python数据分析之Pandas Dataframe怎么修改、删除及查询

# 修改指定行索引df.rename({1:"one", 2:"two"}, inplace=True)# 修改指定列索引df.rename(columns={"city": "address"}, inplace=True)df

结果输出如下:

Python数据分析之Pandas Dataframe怎么修改、删除及查询

参数inplace=True表示在原来的 DataFrame 上进行修改。

元素值的修改

上面查询操作说到说到可以通过loc、iloc、at、iat等方法获取指定位置的值,修改其实也是通过这些方法先指定某个位置,然后进行赋值即可修改,例如:

# 修改1-2行age和city列的数据df.loc[1:2, ["age","city"]] = [["22", "北京"],["21", "济南"]]# 修改gender列 man-->男df.loc[df["gender"]=="man", "gender"] = "男"df

输出结果如下:

Python数据分析之Pandas Dataframe怎么修改、删除及查询

三、行和列的删除操作

DataFrame提供了drop()方法进行行和列的删除操作。

具体用法和参数如下:

df.drop(labels=None, axis=0, index=None, columns=None, inplace=False)

具体通过代码看下:

# 删除单行df.drop(4, inplace=True)# 删除多行df.drop([1,3], inplace=True)# 删除多列df.drop(["gender","city"], axis=1, inplace=True)  # 或 df.drop(columns=["genger","city"], inplace=True)df

关于“Python数据分析之Pandas Dataframe怎么修改、删除及查询”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯