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的Django框架中的select_related函数对QuerySet 查询的优化
Apr 01 Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
python让列表倒序输出的实例
Jun 25 Python
Python实现插入排序和选择排序的方法
May 12 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
django settings.py 配置文件及介绍
Jul 15 Python
Python函数的定义方式与函数参数问题实例分析
Dec 26 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 Python
详解matplotlib绘图样式(style)初探
Feb 03 Python
matplotlib绘制正余弦曲线图的实现
Feb 22 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 中执行排序与 MySQL 中排序
2009/04/21 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
js 控制图片大小核心讲解
2013/10/09 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
JS实现的DIV块来回滚动效果示例
2017/02/07 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
python爬虫使用cookie登录详解
2017/12/27 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
python压包的概念及实例详解
2021/02/17 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
建筑工程技术专业求职信
2014/07/16 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
关于安全的广播稿
2014/10/23 职场文书
白鹤梁导游词
2015/02/06 职场文书
预备党员自我评价范文
2015/03/04 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
送给客户微信问候语!
2019/07/04 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫