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中条件选择和循环语句使用方法介绍
Mar 13 Python
跟老齐学Python之字典,你还记得吗?
Sep 20 Python
Python字符串替换实例分析
May 11 Python
python中PIL安装简单教程
Apr 21 Python
python+opencv实现动态物体追踪
Jan 09 Python
python删除本地夹里重复文件的方法
Nov 19 Python
Python List cmp()知识点总结
Feb 18 Python
基于Python实现扑克牌面试题
Dec 11 Python
python包的导入方式总结
Mar 02 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 Python
pytorch 实现变分自动编码器的操作
May 24 Python
pandas中pd.groupby()的用法详解
Jun 16 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 Streams(流)详细介绍及使用
2015/05/12 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
php intval函数用法总结
2019/04/14 PHP
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
node.js基础知识汇总
2020/08/25 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
使用Python对Access读写操作
2017/03/30 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
python自动生成model文件过程详解
2019/11/02 Python
如何通过python实现人脸识别验证
2020/01/17 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
UGG英国官方网站:UGG UK
2018/02/08 全球购物
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
苹果音乐订阅:Apple Music
2018/08/02 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
评先进个人材料
2014/12/29 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
Python编程编写完善的命令行工具
2021/09/15 Python
Java 定时任务技术趋势简介
2022/05/04 Java/Android