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 相关文章推荐
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
详解Python核心编程中的浅拷贝与深拷贝
Jan 07 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 Python
python3连接MySQL数据库实例详解
May 24 Python
pandas表连接 索引上的合并方法
Jun 08 Python
使用python对excle和json互相转换的示例
Oct 23 Python
Python3实现打印任意宽度的菱形代码
Apr 12 Python
Django ModelForm组件原理及用法详解
Oct 12 Python
Python自动化测试基础必备知识点总结
Feb 07 Python
python 下划线的多种应用场景总结
May 12 Python
Python pandas之求和运算和非空值个数统计
Aug 07 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
PHP伪静态写法附代码
2008/06/20 PHP
php xml-rpc远程调用
2008/12/19 PHP
PHP 文件上传全攻略
2010/04/28 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
python中import与from方法总结(推荐)
2019/03/21 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
如何卸载python插件
2020/07/08 Python
Python 在函数上添加包装器
2020/07/28 Python
python中pow函数用法及功能说明
2020/12/04 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
师范生实习自我鉴定
2013/11/01 职场文书
小学教师岗位职责
2013/11/25 职场文书
前台领班岗位职责
2013/12/04 职场文书
企业演讲稿范文
2013/12/28 职场文书
毕业典礼演讲稿
2014/05/13 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript