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查找第k小元素代码分享
Dec 18 Python
Python中使用不同编码读写txt文件详解
May 28 Python
Python fileinput模块使用实例
May 28 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
Jan 24 Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 Python
Python实现对一个函数应用多个装饰器的方法示例
Feb 09 Python
Python实现Event回调机制的方法
Feb 13 Python
Django时区详解
Jul 24 Python
PyTorch中常用的激活函数的方法示例
Aug 20 Python
Win下PyInstaller 安装和使用教程
Dec 25 Python
python实现图片横向和纵向拼接
Mar 05 Python
教你怎么用Python实现多路径迷宫
Apr 29 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
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
php不用正则采集速度探究总结
2008/03/24 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
Laravel下生成验证码的类
2017/11/15 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
社团活动策划书范文
2014/01/09 职场文书
暑假安全保证书
2015/02/28 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
javaScript Array api梳理
2021/03/31 Javascript
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers