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通过floor函数舍弃小数位的方法
Mar 17 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
python实现图片压缩代码实例
Aug 12 Python
python银行系统实现源码
Oct 25 Python
pyinstaller还原python代码过程图解
Jan 08 Python
python如何通过twisted搭建socket服务
Feb 03 Python
python设置表格边框的具体方法
Jul 17 Python
Python爬虫之Spider类用法简单介绍
Aug 04 Python
python 装饰器的实际作用有哪些
Sep 07 Python
Django中celery的使用项目实例
Jul 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 高手之路(三)
2006/10/09 PHP
模仿OSO的论坛(四)
2006/10/09 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
[02:15]2014DOTA2国际邀请赛 专访LGD.lin小兔子是大腿
2014/07/14 DOTA
[00:02]DOTA2新版本使用PA至宝后暴击展示
2014/11/19 DOTA
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
Python编程中的文件操作攻略
2015/10/16 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
Python版中国省市经纬度
2020/02/11 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
会议接待欢迎词范文
2015/01/26 职场文书
会议室管理制度范本
2015/08/06 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
Js类的构建与继承案例详解
2021/09/15 Javascript