pandas DataFrame的修改方法(值、列、索引)


Posted in Python onAugust 02, 2019

对于DataFrame的修改操作其实有很多,不单单是某个部分的值的修改,还有一些索引的修改、列名的修改,类型修改等等。我们仅选取部分进行介绍。

一、值的修改

DataFrame的修改方法,其实前面介绍loc方法的时候介绍了一些。

1、 loc方法修改

loc方法实际上是定位某个位置的数据的,但是定位完以后就可以对此位置的数据进行修改,使用此方法可以对DataFrame进行的修改如下:
1.对某行、某N行进行修改;
2.对某列、某N列进行修改;
3.对横坐标为某行或某N行,纵坐标为某列或者某N列的数据进行修改;

可以看出基本用loc方法我们对DataFrame可以进行任意修改了。

1.1 对某行、某N行进行修改

# 对第1行进行修改
test_dict_df.loc[1:1,('english','id','math','name')]=[90,2,100,'Alice_m']
# 对第0行到第1行进行修改
test_dict_df.loc[0:1,('english','id','math','name')]=[[90,1,100,'Alice_m'],[70,2,100,'Bob']]
# 对第0行和第2行进行修改
test_dict_df.loc[0:3:2,('english','id','math','name')]=[[90,1,100,'Alice_m'],[70,2,100,'Bob']]

可以看出具体的方法就是用loc方法,对某行或者某N行进行定位,然后赋予合适的格式的值就可以了。

1.2 对某列、某N列进行修改

学会了使用loc方法对行的修改,那触类旁通,对列的修改也很简单了。对列修改也就是修改此列的所有行。

# 对第english列进行修改
test_dict_df.loc[:,('english')]=[90,80,70,90,90,59] #test_dict_df.loc[:,'english']=[90,80,70,90,90,59]
# 对第english列和id列进行修改,注意赋值的写法
test_dict_df.loc[:,('english','id')]=[[90,1],[80,2],[80,2],[80,2],[80,2],[80,2]]

1.3 对某个区域的值进行修改

# 对第1、2行的english列和 id列进行修改
test_dict_df.loc[1:2,('english','id')]=[[38,2],[23,2]]

1.4总结

可以看到loc方法就是,只要你能选到某个或者某个区域的值,然后就可以对此部分的值进行修改。但是要注意赋值部分的组织方式。

2、 iloc、at、iat方法修改

类比于上面的方式,其实只要能选择,都是可以修改的。选择方法可以看pandas DataFrame的查询(选择)篇。

二、列名的修改

1、直接全部更改

这种方法是对DataFrame的列名进行重新赋值,比较暴力直接。

test_dict_df.columns=['english_new','id_new','math_new','name_new']

2、使用rename方法

这种方法是比较推荐的,通过rename方法,注意参数inplace=True的时候,才能真正的在原来的DataFrame上进行修改。

test_dict_df.rename(columns={'english_new':'english'},inplace=True)

三、索引的修改

1、修改索引名称

上面的rename方法,如果不写columns=xx就默认修改索引了 。

test_dict_df.rename({0:'english1'},inplace=True)

2、重置索引

通过reset_index()方法我们可以重置索引,drop参数为True时,直接丢弃原来的索引,否则原来的索引新生成一列名为'index'的列:

test_dict_df.reset_index(inplace=True,drop=True)

3、设置其他列为索引

当然我们也可以用其他列为索引,通过set_index()方法:

test_dict_df.set_index('id_new')

四、总结

可以看到,所谓的修改首先要能选择修改的位置,即定位,然后对确定好的位置进行重新赋值,所以我们学会了如何选择数据,也就基本能修改此处的数据。

源代码:github

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
python中数组和矩阵乘法及使用总结(推荐)
May 18 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
python+adb+monkey实现Rom稳定性测试详解
Apr 23 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 Python
python 检测图片是否有马赛克
Dec 01 Python
python字符串拼接.join()和拆分.split()详解
Nov 23 Python
Flask框架钩子函数功能与用法分析
Aug 02 #Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 #Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
Aug 02 #Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
Aug 02 #Python
pandas DataFrame创建方法的方式
Aug 02 #Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 #Python
Django缓存系统实现过程解析
Aug 02 #Python
You might like
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
javascript数组详解
2014/10/22 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
对javascript继承的理解
2016/10/11 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
python机器学习之随机森林(七)
2018/03/26 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
大四毕业生学习总结的自我评价
2013/10/31 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
投资入股协议书
2016/03/22 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
vue+springboot实现登录验证码
2021/05/27 Vue.js
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js