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编写一个简单的Lisp解释器的教程
Apr 03 Python
Python随机数random模块使用指南
Sep 09 Python
python字典多键值及重复键值的使用方法(详解)
Oct 31 Python
Python如何实现守护进程的方法示例
Feb 08 Python
python3爬取淘宝信息代码分析
Feb 10 Python
Python走楼梯问题解决方法示例
Jul 25 Python
django项目搭建与Session使用详解
Oct 10 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
Jupyter notebook 启动闪退问题的解决
Apr 13 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
Python xlwings插入Excel图片的实现方法
Feb 26 Python
OpenCV-Python实现油画效果的实例
Jun 08 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中用hash实现的数组
2011/07/17 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
2015/06/10 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
深入理解js promise chain
2016/05/05 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
详解Python中的文本处理
2015/04/11 Python
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
2017/06/09 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
Python下简易的单例模式详解
2019/04/08 Python
python实现的Iou与Giou代码
2020/01/18 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
小学英语教学反思
2014/01/30 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
box-shadow单边阴影的实现
2023/05/21 HTML / CSS