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爬虫实例爬取网站搞笑段子
Nov 08 Python
PyQt5每天必学之日历控件QCalendarWidget
Apr 19 Python
python利用selenium进行浏览器爬虫
Apr 25 Python
详解python中__name__的意义以及作用
Aug 07 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
python 多进程并行编程 ProcessPoolExecutor的实现
Oct 11 Python
wxPython窗体拆分布局基础组件
Nov 19 Python
使用python绘制二维图形示例
Nov 22 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
Feb 11 Python
Python单链表原理与实现方法详解
Feb 22 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 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开发GUI
2006/10/09 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
javascript jQuery插件练习
2008/12/24 Javascript
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
图文详解WinPE下安装Python
2016/05/17 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
Django model class Meta原理解析
2020/11/14 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
世界最大的票务市场:viagogo
2017/02/16 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
环保公益策划方案
2014/08/15 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
早上好问候语大全
2015/11/10 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
php引用传递
2021/04/01 PHP
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python