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中使用成员运算符的示例
May 13 Python
Python实现求解一元二次方程的方法示例
Jun 20 Python
Python合并多个Excel数据的方法
Jul 16 Python
老生常谈python中的重载
Nov 11 Python
详解用python写网络爬虫-爬取新浪微博评论
May 10 Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 Python
python3安装crypto出错及解决方法
Jul 30 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
pycharm双击无响应(打不开问题解决办法)
Jan 10 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
Python如何实现感知器的逻辑电路
Dec 25 Python
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
Apr 13 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中如何调用webservice的实例参考
2013/04/25 PHP
Laravel框架数据库迁移操作实例详解
2020/04/06 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
JavaScript中Function详解
2015/02/27 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
jQuery为某个div加入行样式
2017/06/09 jQuery
React如何避免重渲染
2018/04/10 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
js实现select下拉框选择
2020/01/11 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
python写入已存在的excel数据实例
2018/05/03 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
会计实习生工作总结的自我评价
2013/10/07 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
冰峪沟导游词
2015/02/09 职场文书
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
golang中字符串MD5生成方式总结
2021/07/04 Golang
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL