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编写vim插件的简单示例
Apr 17 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
python2.7到3.x迁移指南
Feb 01 Python
Python使用numpy实现BP神经网络
Mar 10 Python
python:print格式化输出到文件的实例
May 14 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
关于numpy中eye和identity的区别详解
Nov 29 Python
Python2与Python3的区别详解
Feb 09 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
Django框架之路由用法
Jun 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 前一天或后一天的日期
2008/06/28 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
PHP实现文件上传与下载
2020/08/28 PHP
网页常用特效代码整理
2006/06/23 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
date.parse在IE和FF中的区别
2010/07/29 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
学习python处理python编码问题
2011/03/13 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
精选奢华:THE LIST
2019/09/05 全球购物
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
2019史上最全Database工程师题库
2015/12/06 面试题
实习医生自我评价
2013/09/22 职场文书
在校学生职业规划范文
2014/01/08 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
授权委托书
2015/01/28 职场文书
运动会主持人开幕词
2016/03/04 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL