转自: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. YTU 1055: 输入字符串以及输出

    1055: 输入字符串以及输出 时间限制: 1 Sec  内存限制: 128 MB 提交: 694  解决: 476 题目描述 编写一函数,由实参传来一个字符串,统计此字符串中字母.数字.空格和其它字 ...

  2. codeforces 447C. DZY Loves Sequences 解题报告(446A)

    题目链接:http://codeforces.com/problemset/problem/447/C 题目意思:给出 一个 包含 n 个数的序列你,从中需要找出这个序列的最长子串,满足在里面只修改其 ...

  3. [存档]获取通讯录信息并写到SD卡上

      下面是代码,不过没有字母表的顺序排列: package com.example.getcontacts; import java.io.FileWriter; import java.io.IOE ...

  4. bzoj 4987 Tree —— 树形DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4987 其实就是在树上找有 k 个点的连通块(路径上的点都选是最优的),之间的边都走了两遍,只 ...

  5. 线程间操作无效: 从不是创建控件“xxxxxxxx”的线程访问它。

    方法一: Control.CheckForIllegalCrossThreadCalls = false; 方法二:(推荐) this.Invoke(new MethodInvoker(() => ...

  6. linux下svn的建库以及相关配置

    1.安装svn软件 yum install subversion -y 2.建立库的根目录,此目录下为所有库的根目录(路径为:/home/svn-server/) ,然后进入此目录 mkdir /ho ...

  7. (水题)洛谷 - P1308 - 统计单词数

    https://www.luogu.org/problemnew/show/P1308 简单哈希一下判断,练练手. 注意fgets()的用法,第一个参数传存储位置,第二个参数传内存上限,第三个传std ...

  8. Codeforces645B【树状数组求逆序数】

    题意: 给你1-n的序列,然后有k次机会的操作,每一次你可以选择两个数交换. 求一个最大的逆序数. 思路: 感觉就是最后一个和第一个交换,然后往中间逼近,到最终的序列,用树状数组求一下逆序数. #in ...

  9. Luogu P2051[AHOI2009]中国象棋【dp】By cellur925

    题目传送门 题目大意:给定一个$n*m$的棋盘,求放三个“炮”使它们不共行也不共列的方案数.($n,m$$<=100$) 这题主要是转移比较困难,因为情况比较多,所以需要冷静大胆细心地进行分情况 ...

  10. (三)SpringBoot定义统一返回result对象

    一:定义响应码枚举 package com.example.demo.core.ret; /** * @Description: 响应码枚举,参考HTTP状态码的语义 * @author * @dat ...