pandas--数据的添加和修改

pandas--数据的添加和修改

  • 1、替换数据
  • 2、填充空值
  • 3、修改索引名
  • 4、增加列
  • 5、插入列df.insert()
  • 6、增加行
  • 7、追加合并
  • 8、删除空值
  • 9、删除

1、替换数据

使用replace方法可以实现数据的批量替换。

df.replace(1, 10)    # 将数据中的所有1替换为10
df.replace([1, 2, 3, 4], 8)    # 将1,2,3,4替换为8
df.replace([1, 2, 3, 4], [5, 6, 7, 8])    # 将1, 2, 3, 4对应替换为5, 6, 7, 8
df.replace({1: 5, 2:6})    # 字典对应修改

2、填充空值

fillna对空值填入指定数据。

df.fillna(0# 将空值全部修改为0
# {'backfill', 'bfill', 'pad', 'ffill', None},默认为None
df.fillna(method='ffill')    # 将空值都修改为其前一个值
values = {'Q1': 60, 'Q2': 70, 'Q3': 80}
df.fillna(value=values)    # 为各列填充不同的值
df.fillna(value=values, limit=1)    # 只替换第一个

3、修改索引名

df.rename(columns={'Q1': 'a', 'Q2': 'b'})    # 对表头进行修改
df.rename(index={0: 'x', 1: 'y'})    # 对索引进行修改
df.rename(index=str)    # 对类型进行修改

4、增加列

df['new'] = df['Q1'] + df['Q2']    # 新列为两列相加
# 把所有为数字的列相加
df['total'] = df.select_dtypes(include=['int']).sum(1)
df.loc[df.Q1 > 60, '成绩'] = '合格'
df.loc[df.Q1 < 60, '成绩'] = '不合格'

5、插入列df.insert()

# 在第三列的位置上插入心列total列,值为每行的总成绩
df.insert(2, 'total', df.sum(1))

6、增加行

可以使用loc[]指定索引给出所有列的值来增加一行数据。

# 新增索引为100的数据
df.loc[100] = ['tom', 'A', 83, 19, 33, 94]
df.loc[101] = {'Q1': 88, 'Q2':99}    # 指定列,无数据列值为NaN
df.loc[df.shape[0] + 1] = {'Q1': 88, 'Q2':99}     # 自动增加索引
# 批量操作,可以使用迭代
rows = [[1, 2], [3, 4], [5, 6]]
for row in rows:
	df.loc[len(df)] = row

7、追加合并

增加行数据的使用场景相对较少,一般是采用数据追加的模式。
df._append()可以追加一个新行

df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'))
df._append(df2)

pd.concat([s1, s2])可以将两个df或s连接起来

s1 = pd.Series(['a', 'b'])
s2 = pd.Series(['c', 'd'])
pd.concat([s1, s2])
pd.concat([df1, df2])
pd.concat([df1, df2], join="inner")    # 只连相同列

8、删除空值

df.dropna()    # 一行中只要有缺失值就删除
df.dropna(axis='columns')    # 列中只要有空值就删除列
df.dropna(how='all')    # 行或列全部为空才删除
df.dropna(thresh=2, axis=0)    # 不足两个非空值时删除
df.dropna(inplace=True)

9、删除

删除有两种方法,一种是使用pop()函数,使用该函数,Series会删除指定索引的数据同时返回这个被删除的值,DataFrame会删除指定列并返回这个被删除的列。以上操作实时生效。

# 删除索引为3的数据
s.pop(3)
# 删除Q1列
df.pop('Q1')

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg常用API与示例(二)—— 解封装与转封装

封装层 封装格式(container format)可以看作是编码流(音频流、视频流等)数据的一层外壳&#xff0c;将编码后的数据存储于此封装格式的文件之内。 封装又称容器&#xff0c;容器的称法更为形象&#xff0c;所谓容器&#xff0c;就是存放内容的器具&#xff0c;饮料是内容&…

【操作系统】处理机调度

处理机调度 处理机调度概念调度概念调度时机 调度原则调度算法实时调度优先级翻转 处理机调度概念 调度概念 进程切换&#xff1a; CPU资源的当前占用者切换 保存当前进程在PCB中的执行上下文(CPU状态)恢复下一个进程的执行上下文 处理机调度: 从就绪队列中挑选下一个占用…

在哪里打印资料比较便宜

在数字时代&#xff0c;我们常常需要在各种文档、资料之间穿梭&#xff0c;然而&#xff0c;有时候我们需要的并不是数字版&#xff0c;而是纸质版。那么&#xff0c;在哪里打印资料比较便宜呢&#xff1f; 琢贝云打印以其超低的价格&#xff0c;优质的打印服务&#xff0c;赢…

html划过盒子出现弹窗

<template><div><div class"content">盒子<div class"topUserInfo">弹窗</div></div></div> </template><script> export default {} </script><style lang"less" scoped> .…

P8802 [蓝桥杯 2022 国 B] 出差

P8802 [蓝桥杯 2022 国 B] 出差 分析 很明显&#xff1a;单源最短路径 没有负权边 dijkstra 1.存图 2.准备两个数组 dis[]&#xff1a;更新源点到各个点的距离 vis[]&#xff1a;标记是否访问 3.从源点开始&#xff0c;更新源点到与其邻接的点的距离&#xff0c;每次选…

01.基本概念

操作系统 为什么要有操作系统&#xff1f; 计算机时一个十分复杂的系统&#xff0c;又cpu、内存、磁盘、IO设备、网络接口等等复杂的硬件组成&#xff0c;人的精力是有限的&#xff0c;不可能了解所有的硬件接口&#xff0c;但是程序可以。 所以我们在计算机上安装了一层软件&…

从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析4

大家好呀&#xff0c;我是一个SLAM方向的在读博士&#xff0c;深知SLAM学习过程一路走来的坎坷&#xff0c;也十分感谢各位大佬的优质文章和源码。随着知识的越来越多&#xff0c;越来越细&#xff0c;我准备整理一个自己的激光SLAM学习笔记专栏&#xff0c;从0带大家快速上手激…

Linux -- 日志

一 日志的重要性 在之前的编程经历中&#xff0c;如果我们的程序运行出现了问题&#xff0c;都是通过 标准输出 或 标准错误 将 错误信息 直接输出到屏幕上&#xff0c;以此来排除程序中的错误。 这在我们以往所写的程序中使用没啥问题&#xff0c;但如果出错的是一个不断在运行…

fb设备驱动框架分析

一、字符设备注册过程&#xff1a; 归根到底&#xff0c;fb设备也是一个字符设备&#xff0c;所以逃不开常规的字符设备驱动框架&#xff1a; Linux内核中编写字符设备驱动通常遵循以下步骤&#xff1a; ①、定义主设备号&#xff1a; 在Linux中&#xff0c;每个字符设备都…

MySQL 通过 systemd 启动时 hang 住了……

mysqld&#xff1a;哥&#xff0c;我起不来了…… 作者&#xff1a;贲绍华&#xff0c;爱可生研发中心工程师&#xff0c;负责项目的需求与维护工作。其他身份&#xff1a;柯基铲屎官。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编…

如何查看页面对应的Selenium定位参数

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

谷歌外链怎么发?

既要数量也要质量&#xff0c;要保证你的链接广泛分布&#xff0c;在数量上&#xff0c;确实需要你的链接在各种平台上有所展现&#xff0c;这样能提升你网站的知名度和曝光率&#xff0c;但是&#xff0c;光有数量是不够的&#xff0c;如果这些链接的内容不行&#xff0c;那对…

泰迪智能科技企业数据挖掘流程分析及特色服务优势

企业发展会沉淀大量的数据&#xff0c;数据中囊括了企业业务各种维度指标&#xff0c;通过数据挖掘和数据分析 &#xff0c;让企业业务了解过去、现在和未来将要发生什么&#xff0c;从而更好的调整企业发展方向。泰迪智能科技企业数据挖掘平台是面向企业级用户快速处理数据构建…

2024年湖北省专升本C语言程序设计大题真题解析

2024年湖北省的专升本考试已于4月30日举行&#xff0c;考试中&#xff0c;出现了许多不同的考试题目&#xff0c;我在网上找到一所高校专升本的大题&#xff08;好像是湖北师范的&#xff0c;后续会有湖北理工的大题真题解析&#xff0c;敬请期待&#xff09;&#xff0c;那么我…

在新页面中跳转到指定 div容器位置

要在打开新的页面时跳转到指定 div&#xff0c;我们需要结合 HTML、JavaScript 和后端技术来实现。以下是两种常见的方法&#xff1a; 使用 URL 参数传递目标 div 信息 HTML (新页面): 在新页面的链接中&#xff0c;添加参数来指示目标 div 的 id&#xff0c;例如&#xff1a;…

致远M3 Session 敏感信息泄露漏洞复现

0x01 产品简介 M3移动办公是致远互联打造的一站式智能工作平台,提供全方位的企业移动业务管理,致力于构建以人为中心的智能化移动应用场景,促进人员工作积极性和创造力,提升企业效率和效能,是为企业量身定制的移动智慧协同平台。 0x02 漏洞概述 致远M3 server多个日志文…

Vue3自定义指令封装-按钮权限控制v-permission、hasPermissions

背景&#xff1a;平常所接触到的系统权限控制&#xff0c;大部分都是菜单、路由级别的控制&#xff0c;但后台管理系统中&#xff0c;很多操作都是与职责和角色挂钩的&#xff0c;同样一个列表&#xff0c;不同人的操作列并不都一样&#xff0c;有些页面存在一些含有重要数据的…

万物生长大会 | 创邻科技再登杭州准独角兽榜单

近日&#xff0c;由民建中央、中国科协指导&#xff0c;民建浙江省委会、中国投资发展促进会联合办的第八届万物生长大会在杭州举办。 在这场创新创业领域一年一度的盛会上&#xff0c;杭州市创业投资协会联合微链共同发布《2024杭州独角兽&准独角兽企业榜单》。榜单显示&…

MathType2024官方版数学公式编辑器功能全面介绍

在数字化学习和科研的浪潮中&#xff0c;数学公式的编辑与展示成为了不可或缺的一部分。MathType&#xff0c;作为一款专业的数学公式编辑器&#xff0c;凭借其强大的功能和便捷的操作&#xff0c;为科研人员、教师、学生等广大用户提供了极大的便利。下面&#xff0c;我们将对…

基于.NET WinForms 数据CURD功能的实现

使用开发工具 VS 2022 C#&#xff0c;数据库MS SQL SERVER 2019 &#xff0c;基于NET WinForms&#xff0c;实现数据记录的创建(Create)、更新(Update)、读取(Read)和删除(Delete)等功能。主要控件包括&#xff1a;DataGridView&#xff0c;SqlDataApater &#xff0c; DataTab…
最新文章