python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现


Posted in Python onJune 11, 2018

相信很多人像我一样在学习python,pandas过程中对数据的选取和修改有很大的困惑(也许是深受Matlab)的影响。。。

到今天终于完全搞清楚了!!!

先手工生出一个数据框吧

import numpy as np 
import pandas as pd 
df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc'))

df 是这样子滴

那么这三种选取数据的方式该怎么选择呢?

一、当每列已有column name时,用 df [ 'a' ] 就能选取出一整列数据。如果你知道column names 和index,且两者都很好输入,可以选择 .loc

df.loc[0, 'a'] 
df.loc[0:3, ['a', 'b']] 
df.loc[[1, 5], ['b', 'c']]

由于这边我们没有命名index,所以是DataFrame自动赋予的,为数字0-9

二、如果我们嫌column name太长了,输入不方便,有或者index是一列时间序列,更不好输入,那就可以选择 .iloc了。这边的 i 我觉得代表index,比较好记点。

df.iloc[1,1] 
df.iloc[0:3, [0,1]] 
df.iloc[[0, 3, 5], 0:2]

iloc 使得我们可以对column使用slice(切片)的方法对数据进行选取。

三、.ix 的功能就更强大了,它允许我们混合使用下标和名称进行选取。 可以说它涵盖了前面所有的用法。基本上把前面的都换成df.ix 都能成功,但是有一点,就是

df.ix [ [ ..1.. ], [..2..] ], 1框内必须统一,必须同时是下标或者名称,2框也一样。 BTW, 1框是用来指定row,2框是指定column, 当然上面所有的取数方法都是这个规则。

这就是我目前的领悟吧。

以上这篇python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python读写Excel文件方法介绍
Nov 22 Python
Python如何实现守护进程的方法示例
Feb 08 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
python+selenium+autoit实现文件上传功能
Aug 23 Python
Python实现购物车功能的方法分析
Nov 10 Python
Python实现KNN邻近算法
Jan 28 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 Python
TensorFlow实现简单的CNN的方法
Jul 18 Python
解决python -m pip install --upgrade pip 升级不成功问题
Mar 05 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 Python
python中不能连接超时的问题及解决方法
Jun 10 #Python
Python爬虫实现(伪)球迷速成
Jun 10 #Python
python利用微信公众号实现报警功能
Jun 10 #Python
Python if语句知识点用法总结
Jun 10 #Python
Python continue继续循环用法总结
Jun 10 #Python
Python求解任意闭区间的所有素数
Jun 10 #Python
Python学习小技巧总结
Jun 10 #Python
You might like
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
php购物车实现方法
2015/01/03 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
Python实现将xml导入至excel
2015/11/20 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
柏林通行证:Berlin Pass
2018/04/11 全球购物
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
一套PHP的笔试题
2013/05/31 面试题
竞聘副主任科员演讲稿
2014/01/11 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
五四青年节活动总结
2015/02/10 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
工作感想范文
2015/08/07 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL