转自:https://blog.csdn.net/qq_21840201/article/details/80725433

### 随机生DataFrame 类型数据
import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.rand(4,4),index=list('abcd'),columns=list('ABCD'))
frame
  A B C D
a 0.560094 0.352686 0.954100 0.926277
b 0.563728 0.335517 0.232902 0.973932
c 0.482155 0.976618 0.565462 0.445108
d 0.477146 0.933353 0.291764 0.986668
1、loc     基于行标签和列标签(x_label、y_label)进行索引

### .loc先行后列,中间用逗号(,)分割,例如取 a 和 A 对应的数据
frame.loc['a','A']
0.56009394013943303
### 取前两行对应数据
frame.loc['a':'b',:]
  A B C D
a 0.560094 0.352686 0.954100 0.926277
b 0.563728 0.335517 0.232902 0.973932
### 取前两列对应数据
frame.loc[:,'A':'B']
  A B
a 0.560094 0.352686
b 0.563728 0.335517
c 0.482155 0.976618
d 0.477146 0.933353
### 取前两行和前两列对应数据
frame.loc['a':'b','A':'B']
  A B
a 0.560094 0.352686
b 0.563728 0.335517
### 上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则
frame.loc[['a','d'],['A','D']]
上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则
frame.loc[['a','d'],['A','D']]
  A D
a 0.560094 0.926277
d 0.477146 0.986668
2、 iloc   基于行索引和列索引(index,columns) 都是从 0 开始

如果数据的行标签和列标签名字太长或不容易记,则用 iloc 很方便,只需记标签对应的索引即可

### .loc先行后列,中间用逗号(,)分割,例如取 a 和 A 对应的数据
frame.iloc[0,0]
0.56009394013943303
### 取前两行对应数据
frame.iloc[0:2,:]
  A B C D
a 0.560094 0.352686 0.954100 0.926277
b 0.563728 0.335517 0.232902 0.973932
### 取前两列对应数据
frame.iloc[:,0:2]
A B
a 0.560094 0.352686
b 0.563728 0.335517
c 0.482155 0.976618
d 0.477146 0.933353
### 取前两行和前两列对应数据
frame.iloc[0:2,0:2]
  A B
a 0.560094 0.352686
b 0.563728 0.335517
### 上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则
frame.iloc[[0,3],[0,3]]
上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则
frame.iloc[[0,3],[0,3]]
  A D
a 0.560094 0.926277
d 0.477146 0.986668
3、 ix  基于标签或者索引(loc和iloc 的混合)

### 取前两行和前两列对应数据
frame.iloc[0:2,0:2]
  A B
a 0.560094 0.352686
b 0.563728 0.335517
### 取前两行和前两列对应数据
frame.ix['a':'b','A':'B']
  A B
a 0.560094 0.352686
b 0.563728 0.335517
官方文档新的python版本已经弃用 ix,建议使用 loc 和 iloc

.ix is deprecated. Please use
.loc for label based indexing or

---------------------
作者:求知者_123
来源:CSDN
原文:https://blog.csdn.net/qq_21840201/article/details/80725433
版权声明:本文为博主原创文章,转载请附上博文链接!

python pandas 中 loc & iloc 用法区别的更多相关文章

  1. Pandas的 loc iloc ix 区别

    先看代码: In [46]: import pandas as pd In [47]: data = [[1,2,3],[4,5,6]] In [48]: index = [0,1] In [49]: ...

  2. python pandas(ix & iloc &loc)

    python pandas(ix & iloc &loc) loc——通过行标签索引行数据 iloc——通过行号索引行数据 ix——通过行标签或者行号索引行数据(基于loc和iloc ...

  3. Pandas:loc iloc ix用法

    参考:Pandas中关于 loc \ iloc \ ix 用法的理解 相同点 使用形式都是 df.xxx[ para1 , para2 ] #xxx表示loc iloc ix#df表示一个DataFr ...

  4. Pandas中Loc用法总结

    摘自:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html 具体用法,假设数据源为: > ...

  5. Python numpy中矩阵的用法总结

    关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...

  6. Pandas 数据处理 | Datetime 在 Pandas 中的一些用法!

    Datatime 是 Python 中一种时间数据类型,对于不同时间格式之间的转换是比较方便的,而在 Pandas 中也同样支持 DataTime 数据机制,可以借助它实现许多有用的功能,例如 1,函 ...

  7. Python 3中bytes/string的区别

    原文:http://eli.thegreenplace.net/2012/01/30/the-bytesstr-dichotomy-in-python-3 python 3中最重要的新特性可能就是将文 ...

  8. 学习python,第四篇:Python 3中bytes/string的区别

    原文:http://eli.thegreenplace.net/2012/01/30/the-bytesstr-dichotomy-in-python-3 python 3中最重要的新特性可能就是将文 ...

  9. python pandas 中文件的读写——read_csv()读取文件

    read_csv()读取文件1.python读取文件的几种方式read_csv 从文件,url,文件型对象中加载带分隔符的数据.默认分隔符为逗号read_table 从文件,url,文件型对象中加载带 ...

随机推荐

  1. POJ 3750 小孩报数问题 (线性表思想 约瑟夫问题 数组模拟运算的 没用循环链表,控制好下标的指向就很容易了)

    小孩报数问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10423   Accepted: 4824 Descripti ...

  2. 织梦DedeCMS信息发布员发布文章默认自动审核更新并生成HTML页面

    织梦DedeCMS信息发布员发布文章默认自动审核更新并生成HTML页面 一直以为DEDECMS的信息发布员在后台发布文章后,非要管理员审核才能显示,今天一哥们问我这个问题.问:“能不能直接发布,并自动 ...

  3. oracle自动表分析

    oracle 表的统计信息,跟他的执行计划很有关联 执行计划的正常是否,跟SQL的执行速度很有关系 首先讲解一下如何查看一个数据库的是否开启自动统计分析 1.查看参数:STATISTICS_LEVEL ...

  4. maven之setting.xml的配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  5. 使用Cocos2dx-JS开发一个飞行射击游戏

    一.前言 笔者闲来无事,某天github闲逛,看到了游戏引擎的专题,引起了自己的兴趣,于是就自己捣腾了一下Cocos2dx-JS.由于是学习,所谓纸上得来终觉浅,只是看文档看sample看demo,并 ...

  6. nodejs 打造 多人对战游戏服务器(初级入门)

    使用socket.set 和 socket.get 在存取玩家信息 百牛信息技术bainiu.ltd整理发布于博客园 socket.get('playerinfo', function (err, p ...

  7. AppBoxFuture(七): 分布式外键约束

      关系数据库与NoSql其中的一个主要区别是具备完整的外键约束,虽说现在一些大厂在设计数据存储结构时禁止使用外键约束,靠业务逻辑来保证数据完整性,但考虑到是人就会犯错,为了保证关键业务数据的完整性, ...

  8. Codeforces 378C

    DFS连通块,思路就是搜到底,然后一个一个回溯(填上X)上来 #include <iostream> #include <stdio.h> #include <strin ...

  9. Codeforces Round #355 (Div. 2) B. Vanya and Food Processor

    菜菜菜!!!这么撒比的模拟题,听厂长在一边比比比了半天,自己想一想,然后纯模拟一下,中间过程检测一下,妥妥的就可以过. 题意:有N个东西要去搞碎,每个东西有一个高度,然后有一台机器支持里面可以达到的最 ...

  10. MySQL的分支

    1.MariaDB MariaDB数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MyS ...