Python数据攻略-DataFrame的数据操作

大家好,我是Mr数据杨,今天我们就来谈谈Python中的数据访问和修改。

首先,你们一定都听过《三国演义》吧,里面的人物和事情其实就像我们Python中的数据。比如曹操就像我们的数据元素,他的性格特点、军事才能等就像我们用访问器获取的数据,我们可以通过这些数据更好地了解他。然后,如果我们想要更改曹操的某些信息,比如他手下的将领数量或所占领的城市,那就像是我们使用访问器设置数据。

接下来是插入和删除数据。想象一下,你是曹操,你想要招揽一些新的谋士或将领,那么你就需要在你的名单中添加他们,这就像是我们插入数据。而如果有人背叛了你,你可能就需要从你的名单中删除他,这就像我们删除数据。

同样的如果你想扩大你的领土,你可能需要插入新的城市,也就是我们插入新的列。反之,如果你失去了一些城市,那么你可能需要删除一些列。

希望以上的解释能够帮助你们更好地理解Python中的数据操作,让我们一起深入这个数据操作的三国世界,去更好地了解Python吧!

文章目录

  • 访问和修改数据
    • 使用访问器获取数据
    • 使用访问器设置数据
  • 插入和删除数据
    • 插入和删除行
    • 插入和删除列

访问和修改数据

使用访问器获取数据

除了使用 .loc[] 访问器通过索引获取行或列的数据之外,Pandas还提供了 .iloc[] 访问器,它通过整数索引来检索行或列。

示例代码:

df.loc[10]

输出结果:

名前                                                      阿会喃
字                                                         -
读み                                                        -
性别                                                        男
生年                                                      190
登场                                                      217
没年                                                      225
...
酒\n興味                                                    あり
物欲                                                       强欲
Name: 10, dtype: object
df.iloc[0]

输出结果:

名前                                                      阿会喃
字                                                         -
读み                                                        -
性别                                                        男
生年                                                      190
登场                                                      217
没年                                                      225
...
酒\n興味                                                    あり
物欲                                                       强欲
Name: 10, dtype: object

.loc[].iloc[] 支持切片和类似NumPy的索引操作。

示例代码:

df.loc[:, '名前']

输出结果:

10    阿会喃
11     韋昭
12     伊籍
13     尹賞
14    尹大目
Name: 名前, dtype: object
df.iloc[:, 1]

输出结果:

10    阿会喃
11     韋昭
12     伊籍
13     尹賞
14    尹大目
Name: 名前, dtype: object

可以使用切片、列表或数组来获取多行或多列的数据。

示例代码:

df.loc[11:15, ['名前', '字']]

输出结果:

     名前	字
11	韋昭	弘嗣
12	伊籍	機伯
13	尹賞	-
14	尹大目	-
df.iloc[1:6, [0, 1]]

输出结果:

     名前	字
11	韋昭	弘嗣
12	伊籍	機伯
13	尹賞	-
14	尹大目	-

.iloc[] 可以使用与切片元组、列表和NumPy数组相同的方式跳过行和列。

示例代码:

df.iloc[1:6:2, 0]

输出结果:

11    韋昭
13    尹賞
Name: 名前, dtype: object

还可以使用Python内置的 slice() 类、numpy.s_[] 或者 pd.IndexSlice[]

示例代码:

df.iloc[slice(1, 6, 2), 0]

输出结果:

11    韋昭
13    尹賞
Name: 名前, dtype: object
df.iloc[np.s_[1:6:2], 0]

输出结果:

11    韋昭
13    尹賞
Name: 名前, dtype: object
df.iloc[pd.IndexSlice[1:6:2], 0]

输出结果:

11    韋昭
13    尹賞
Name: 名前, dtype: object

使用 .loc[].iloc[] 获取特定的数据值。但是当只需要单个值时,建议使用专门的访问器 .at[].iat[]

示例代码:

df.at[12, '名前']

输出结果:

'伊籍'
df.iat[2, 0]

输出结果:

'伊籍'

使用访问器设置数据

可以使用访问器来修改数据,可以传递Python序列、NumPy数组或单个值来修改数据。

示例代码:

df.loc[:13, '生年'] = [40, 50, 60, 70]
df.loc[14:, '生年'] = 0df['生年']

输出结果:

10    40
11    50
12    60
13    70
14     0
Name: 生年, dtype: int64

可以使用负索引 .iloc[] 来访问或修改数据。

示例代码:

df.iloc[:, -10] = np.array([88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0])
df['生年']

输出结果:

10    88.0
11    79.0
12    81.0
13    80.0
14    68.0
Name: 生年, dtype: float64

插入和删除数据

Pandas提供了几种方便的方法来插入和删除行或列。

插入和删除行

首先,创建要插入的新数据。

示例代码:

new = pd.Series(data=['Mr数据杨', 'xxx', "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"], index=df.columns)new

输出结果:

名前        Mr数据杨
字           xxx
读み            -
性别            -
生年            -
登场            -
没年            -
...
酒\n興味        -
物欲           -
dtype: object

使用 df.append() 将新数据加入DataFrame。

示例代码:

df = df.append(pd.DataFrame(new).T)
df

输出结果:

![在这里插入图片描述](https://img-blog.csdnimg.cn/994b325298f24b26938e9c

02847411bd.png)

使用 df.drop() 删除新数据。

示例代码:

df = df.drop(labels=[17])
df

输出结果:

在这里插入图片描述

插入和删除列

可以直接赋值来定义新列的名称和数据。

示例代码:

df['temp_data'] = np.array([71.0, 95.0, 88.0, 79.0, 91.0])
df

输出结果:

在这里插入图片描述

可以将新列的所有值设置为0。

示例代码:

df['temp_data'] = 0.0
df

输出结果:

在这里插入图片描述

使用 .insert() 在指定位置插入列数据。

示例代码:

df.insert(loc=4, column='new_temp_data', value=np.array([86.0, 81.0, 78.0, 88.0, 74.0, 70.0, 81.0]))
df

输出结果:

在这里插入图片描述

使用 del 关键字删除一列或多列。

示例代码:

del df['new_temp_data']
df

输出结果:

在这里插入图片描述

使用 df.drop() 删除列。

示例代码:

df = df.drop(labels='age', axis=1)
df

输出结果:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352122.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

第16章:InnoDB数据存储结构

一、数据库的存储结构:页 1.磁盘与内存的交互基本单位:页 InnoDB将表中数据划分多个页来存储,InnoDB中页的大小默认是16KB 在数据库中,不论读一行,还是读多行,都是将这些行所在的页从磁盘加载到内存。数据库管理存储…

3dmax入门 | 学3d建模必备软件技能基础教学

3dmax入门❗️学3d建模必备软件技能基础认知|||学3d建模基本都是从3dmax入手开始学习的 这篇笔记就来教零基础小白小伙伴们来认识3dmax 3ds max界面组成有以下几部分: 1、标题栏:主要记录版本信息 2、菜单栏:涵盖了几乎软件所有命令 3、工具栏&#xff…

报表生成器FastReport .Net教程:“Text“对象、文本编辑

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。 FastReport.NET官方版…

【Web服务应用】Tomcat部署

Tomcat部署 一、Tomcat简介二、tomcat组件2.1核心组件2.2Tomcat功能组件2.3Tomcat 请求过程 三、部署Tomcat服务3.1Tomcat虚拟主机配置 四、Tomcat多实例部署 一、Tomcat简介 一款 java 开发的开源的 Web 应用服务程序。 可以作为Web应用服务器,处理静态的Web页面&…

【计算机组成】Cache与CPU的直接映射、全相联映射与组相联映射

一.Cache与CPU需要映射的原因 CPU准备访问内存时,会先问问cache存储器有没有已经提前准备好了数据,如果没有则再找内存要: 如果Cache刚好命中,则直接从Cache中读取数据: 如果Cache没有命中(Cache失效&#…

计算机中丢失VCRUNTIME140_1怎么办,vcruntime140_1.dll的三个修复方法

vcruntime140_1.dll是一个Windows系统文件,它是Microsoft Visual C Redistributable for Visual Studio 2019软件包的一部分,用于运行使用Visual C开发的应用程序。在我们打开软件或者游戏的时候,提示计算机中丢失VCRUNTIME140_1怎么办&#…

w ndows10玩游戏蓝屏,Windows 10 电脑玩穿越火线蓝屏原因及解决方法

Windows 10 蓝屏是非常常见的,可是面对不同原因出现的蓝屏您又知道如何去处理吗?今天我们就来通过解决穿越火线蓝屏顺便一起看看都是因为什么原因导致的 Windows 10 系统蓝屏吧。 1、显卡驱动导致的蓝屏,由于在 Windows 10 系统中有很多不稳定…

如何下载安装穿越派V3.14版本?

1、启动服务 1.1 在首页或huluer.com任何页面,点击 (数据方舟)。 1.2 点击 启动服务 按钮。 2、安装部署云化环境 (注:一定要到需要部署的个人电脑或服务器上下载并安装。) 2.1 点击确定,下载iChainPi.exe安装程序。(下载及解答 下方点击软件下载也是一样的。)

cf四大服务器位置,CF:从最初的42个服务器到现在的四大战区,穿越火线还能火多久?...

原标题:CF:从最初的42个服务器到现在的四大战区,穿越火线还能火多久? 穿越火线于近日进行了一波重大的更新,最引人注目的就是“跨区作战”了,也就是我们所说的合区,从2017年开始,穿越…

cf游戏进不去计算机,cf更新之后进不去 穿越火线进不去解决方法

很多穿越玩家在游戏更新后会发现游戏在安全检查过后就没了动静,原本应该出现的游戏界面也是迟迟不出现,万般无奈之下选择重启客户端,然而情况依旧如此。下边小编带您一起来看看为什么cf更新之后进不去,穿越火线进不去解决方法。 1…

echarts折线图使用记录

1项目中引入echarts文档api介绍,链接地址如下 https://echarts.apache.org/handbook/zh/basics/import 2 官网基础样例介绍,链接地址如下 https://echarts.apache.org/handbook/zh/get-started/ 3 基本折线图介绍内容及链接 3.1 最简单的折线图 3.2 笛卡尔坐标系中…

【unity小技巧】常用的方法属性和技巧汇总

学习目标: 最近学习过程经常遇到一些好的方法属性和技巧,但是很容易忘记,单内容都比较少,又不至于开一篇文章单独讲解各个用法,特此单独写一篇做汇总,好记性不如烂笔头,后面收获一些新的知识我还…

NineData,稳定、高效的Redis数据同步解决方案

在 DB-Engines 网站的排名中,Redis 在 Key-value 存储的NoSQL领域连续霸榜多年,是目前最流行的键值对存储数据库,被广泛用于缓存、队列、实时分析等多种高并发的场景中。在生产环境中,我们会遇到对Redis进行版本升级和架构的扩缩容…

保护您的邮件安全:Exchange Reporter Plus 助您全面监控与审计

引言: 在当今数字化时代,电子邮件已成为我们日常生活和工作中不可或缺的沟通工具。然而,随着电子邮件的广泛使用,邮件安全也成为一个备受关注的议题。为了保护组织的敏感信息和防止数据泄露,我们需要一种强大的解决方…

微信如何批量添加好友?

现在营销中,微信已成为一种重要的沟通方式。微信目前是没有自动批量添加好友的功能,需要运营者一个一个手动去添加,这样太过于浪费时间,并且加频繁了还容易被封号,今天给大家介绍几种手动批量加好友的方式以及怎么借助…

怎么把投票链接生成二维码投票链接怎么生成二维码

用户在使用微信投票的时候,需要功能齐全,又快捷方便的投票小程序。 而“活动星投票”这款软件使用非常的方便,用户可以随时使用手机微信小程序获得线上投票服务,很多用户都很喜欢“活动星投票”这款软件。 “活动星投票”小程序在…

运维小白必学篇之基础篇第十五集:FTP实验

FTP实验 实验者:胡 阳 匿名用户验证: 例:(前提配置,防火墙关闭,yum安装,同模式vmware11) 现有一台计算机huyanggw(视作服务端),IP地址为192.1…

ETLCloud轻松应对CDC实时数据流和维度数据合并的需求,实时监控订单数据

如何实现实时流与批流合并打宽数据 通常情况下我们使用CDC实时监听表销售或订单表数据的LOG时会形成流式的数据,即订单变化时数据是按照变化时间不断的传入到ETL的流程中的,业务希望实时看到订单数据的报表。 CDC每次传入的数据有可能是一条也可能是多…

遇到大数据处理,你会怎么办?快来看一下位图和布隆过滤器(下)

目录 前文 一,为什么有布隆过滤器 二,什么是布隆过滤器 三,布隆过滤器的实现 四,布隆过滤器的优缺点 4.1 布隆过滤器的优点 4.2 布隆过滤器的缺点及其改进方式 4.2.1 查找误判及其改进方式分析 4.2.2 不能删除以及改进方式分…

5月VR大数据:Quest 2下跌超1%,其它变化不大

Hello大家好,每月一期的VR内容/硬件大数据统计又和大家见面了。 想了解VR软硬件行情么?关注这里就对了。我们会统计Steam平台的用户及内容等数据,每月初准时为你推送,不要错过喔! 本数据报告包含:Steam VR硬…