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 简单的多线程链接实现代码
Aug 28 Python
python数据清洗系列之字符串处理详解
Feb 12 Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
Python图像处理PIL各模块详细介绍(推荐)
Jul 17 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Python 模拟生成动态产生验证码图片的方法
Feb 01 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
什么是python的列表推导式
May 26 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 Python
Django显示可视化图表的实践
May 10 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实现登陆验证码(类似条行码状)
2006/10/09 PHP
php 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
关于PHP堆栈与列队的学习
2013/06/21 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
简单实现php上传文件功能
2017/09/21 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
再谈javascript面向对象编程
2012/03/18 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
JavaScript位移运算符(无符号) >>> 三个大于号 的使用方法详解
2016/03/31 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
彻底理解Python list切片原理
2017/10/27 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
俄语翻译实习生的自我评价分享
2013/11/06 职场文书
火锅店的活动方案
2014/08/15 职场文书
保卫工作个人总结
2015/03/03 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
幼儿园教师管理制度
2015/08/05 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android