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使用paramiko模块实现ssh远程登陆上传文件并执行
Jan 27 Python
Python中的下划线详解
Jun 24 Python
Python计算字符宽度的方法
Jun 14 Python
Python编程实现正则删除命令功能
Aug 30 Python
详解python 注释、变量、类型
Aug 10 Python
使用python爬取抖音视频列表信息
Jul 15 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 Python
Python中turtle库的使用实例
Sep 09 Python
python 安装移动复制第三方库操作
Jul 13 Python
Python调用jar包方法实现过程解析
Aug 11 Python
Python -m参数原理及使用方法解析
Aug 21 Python
Python实现粒子群算法的示例
Feb 14 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 file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
iframe的父子窗口之间的对象相互调用基本用法
2013/09/03 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
python的正则表达式re模块的常用方法
2013/03/09 Python
python 远程统计文件代码分享
2015/05/14 Python
django站点管理详解
2017/12/12 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
Python 修改列表中的元素方法
2018/06/26 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
八年级音乐教学反思
2014/01/09 职场文书
员工安全责任书范本
2014/07/24 职场文书
客房服务员岗位职责
2015/02/09 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
团组织关系介绍信
2019/06/24 职场文书