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实现堆栈与队列的方法
Jan 15 Python
Python类的动态修改的实例方法
Mar 24 Python
python读写json文件的简单实现
Apr 11 Python
Python 函数基础知识汇总
Mar 09 Python
python批量修改图片大小的方法
Jul 24 Python
Python占用的内存优化教程
Jul 28 Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 Python
python给视频添加背景音乐并改变音量的具体方法
Jul 19 Python
Python extract及contains方法代码实例
Sep 11 Python
python实现人性化显示金额数字实例详解
Sep 25 Python
Python内置数据结构列表与元组示例详解
Aug 04 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
PHP和XSS跨站攻击的防范
2007/04/17 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
应聘文员自荐信范文
2014/03/11 职场文书
实习推荐信
2014/05/10 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
作弊检讨书范文
2015/05/06 职场文书
公司酒会致辞
2015/07/30 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
Python 绘制多因子柱状图
2022/05/11 Python