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下使用Psyco模块优化运行速度
Apr 05 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
Nov 30 Python
python列表生成式与列表生成器的使用
Feb 23 Python
pytorch构建网络模型的4种方法
Apr 13 Python
python实现简易动态时钟
Nov 19 Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
django框架ModelForm组件用法详解
Dec 11 Python
解决Python图形界面中设置尺寸的问题
Mar 05 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
Python如何在windows环境安装pip及rarfile
Jun 15 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 的几个配置文件函数
2006/12/21 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
preg_match_all使用心得分享
2014/01/31 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
php json相关函数用法示例
2017/03/28 PHP
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
jQuery1.6 使用方法二
2011/11/23 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
Validform验证时可以为空否则按照指定格式验证
2017/10/20 Javascript
垃圾回收器的相关知识点总结
2018/05/13 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
python 判断网络连通的实现方法
2018/04/22 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
Python ATM功能实现代码实例
2020/03/19 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
医疗保健专业人士购物网站:Scrubs & Beyond
2017/02/08 全球购物
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
毕业生找工作的求职信范文
2013/12/24 职场文书
说明书范文
2014/05/07 职场文书
重阳节标语大全
2014/10/07 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
2015年财政所工作总结
2015/04/25 职场文书
民事起诉书范本
2015/05/19 职场文书
使用CSS设置滚动条样式
2022/01/18 HTML / CSS