pandas的初学者都会有一个疑惑,经常看别人的代码有iloc、loc、ix,这三个函数到底有什么区别呢?

首先,这三个都可以用来筛选行列,即filter特定的行、列或者同时选取行列,那么他们三个有什么区别呢,区别主要体现在用法上:

一.loc:根据标签(label)索引,什么是标签呢?

红框框起来的部分就是标签(label)。在这里,行标签就是我们所说的索引(index),列标签就是列名(columns)

stock.loc[0:5,['股票代码','股票名称','当前价','涨跌额','涨跌幅','年初至今','成交量','成交额']]

逗号左边是要筛选的行,逗号右边是要筛选的列。我们平时做数据处理的时候,更常见的情况是选取所有行,但是只要某几列

stock.loc[:,['股票代码','股票名称','当前价','涨跌额','涨跌幅','年初至今','成交量','成交额']]

同理,选取所有列,只要某几行就有:

stock.loc[0:5,:]

小结:loc 选取特定行列的用法:行根据行标签,也就是索引筛选,列根据列标签,列名筛选

如果选取的是所有行或者所有列,可以用:代替

行标签选取的时候,两端都包含,比如[0:5]指的是0,1,2,3,4,5。

二.iloc,根据行标签的位置索引。iloc就是 integer loc 。可以理解为是在loc的基础上,用整数索引。即iloc是基于位置索引的,也就是我们常说的几行几列。还是以stock数据集为例

stock.iloc[0:6,0:8]

上面代码的是stock数据集中第0-5行,第0-7列的内容。这里需要注意的是iloc的0:X中不包括X,只能到X-1.

如果我们需要的是第0-5行,第0,3,4,5列的内容呢?

stock.iloc[0:6,[0,3,4,5]]

小结:iloc基于位置索引,简单来说,就是第几行第几列,只不过这里的行列都是从0开始的。

iloc的0:X中不包括X,只能到X-1.

三.ix相当于loc和iloc的综合版本,既可以按标签选取,又可以按位置选取。也就是说,ix可以识别你是想按照标签选取,还是按照位置选取。

接下来要用到的数据集如下,为了方便阐述ix的用法,将stock的‘股票名称’设置成了索引,也就是行标签。

stock.ix['聚力文化':'海联金汇',0:3]

#这里ix会将行按照标签选取(行选取用了loc的方式),列按照位置选取(列选取用了iloc的方式)。

stock.ix[2:5,'股票代码':'当前价']

#这里ix是将行按照位置选取(行选取用了iloc的方式),列按照标签选取(列选取用了loc的方式)。

最后的结果同上。

关于ix,它是先于iloc、和loc产生的。现在基本上用iloc和loc已经完全能取代ix,所以ix已经被官方弃用了。

python ix loc iloc_pandas中的iloc、loc、ix有什么区别?相关推荐

  1. python ix loc iloc_python - dataframe的iloc,ix和loc有何不同?

    DataFrame的iloc,ix和loc这三种切片方法有何不同吗? 之前看过一些官方文档,但还是无法理解这三者之间的区别. 例如,假设我们要获取DataFrame的前五行.这三者内部是如何实现的?求 ...

  2. python predict_对Keras中predict()方法和predict_classes()方法的区别说明

    1 predict()方法 当使用predict()方法进行预测时,返回值是数值,表示样本属于每一个类别的概率,我们可以使用numpy.argmax()方法找到样本以最大概率所属的类别作为样本的预测标 ...

  3. 【Python画图】Matplotlib中fig、ax、plt的区别及其用法(入门)

    Matplotlib中fig.ax.plt的区别 1. fig.ax.plt三者的基本概念 2. fig方法的层级 3. 案例 3.1 fig和ax方法(面向对象) 3.2 plt方法 4. 总结 参 ...

  4. Python教程:threading中join与setDaemon的用法及区别讲解

    Python多线程编程时经常会用到join()和setDaemon()方法,基本用法如下: join([time]): 等待至线程中止.这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或 ...

  5. python大括号用法_Python中的大括号和方括号有什么区别?

    花括号创建 dictionaries或 sets.方括号创建 lists. 它们被称为字面量;设置文字: aset = {'foo', 'bar'} 或字典字面量: adict = {'foo': 4 ...

  6. python的json dump_python中json.dump和json.dumps的区别

    json.dumps (&json.loads): 是对数据的操作: json.dump (&json.load): 也是类似的功能,只是与文件操作结合起来了. 1. json.dum ...

  7. Python下 etree.xpath 中 双斜杠 和单斜杠的区别

    标识 含义 '//' 表示从任意节点的任意子节点开始 '/' 表示从当前节点开始 因此一般在xpath输入字符串参数中会以'/'开头,如果以'//'开头会直接从根节点的第一个子节点开始匹配,如果匹配不 ...

  8. Python入门之PyCharm中目录directory与包package的区别

    https://www.cnblogs.com/JetpropelledSnake/p/8905734.html 转载于:https://www.cnblogs.com/Pjwork/p/939116 ...

  9. python中的ix是啥_python pandas (ix iloc loc) 的区别

    oc--通过行标签索引行数据 iloc--通过行号索引行数据 ix--通过行标签或者行号索引行数据(基于loc和iloc 的混合) 同理,索引列数据也是如此! 举例说明: 1.分别使用loc.iloc ...

最新文章

  1. 【C++】C++11 STL算法(十):使用STL实现排序算法
  2. 【Linux 内核】进程管理 ( 系统调用简介 | 进程相关系统调用源码 )
  3. 魔鬼一样的二分查找模板
  4. pe_xscan 增加 O31 项
  5. Windows2000系统下载安装,怀念一下
  6. 【电子发票】电子发票OFD如何打开?OFD版式阅读器
  7. Axure谷歌浏览器插件
  8. Redis 的过期策略
  9. Dubbo-admin
  10. exls表格搜索快捷键_excel搜索快捷键 常用的excel快捷键有哪些
  11. 【读书】张萌作品:《人生效率手册:如何卓有成效地过好每一天》
  12. Mongodb3.4升级3.6
  13. 广播发射系统的安装调试维护——TFN T300F天馈线驻波比测试仪手持矢量网络分析仪
  14. 交通银行计算机设备实物管理,酷!AI助力交通银行提升风险管理能力
  15. 安装完Ubuntu16.04后要做的事
  16. 全国计算机考的是ms还是mps,请问有没有人了解Cornell的MPS program啊
  17. 开题报告:基于java电影院选座售票系统 毕业设计论文开题报告模板
  18. 带你入门学习Rxjava--上手教程
  19. 如何对分类构件进行标选颜色
  20. XLNet:Generalized Autoregressive Pretraining for Language Understanding(2019-6-19)

热门文章

  1. 深度学习多变量时间序列预测:GRU算法构建时间序列多变量模型预测交通流量+代码实战
  2. 影像组学视频学习笔记(31)-柱状图的python实现、Li‘s have a solution and plan.
  3. java中getDelta是什么意思_Java IResourceDelta.getMarkerDeltas方法代码示例
  4. Android实例开发中如何创建第一个项目(android studio)
  5. Comprehensive anticancer drug response prediction based on a simple cell line drug complex network m
  6. 解读生命密码的基本手段 ——DNA测序技术的前世今生
  7. java提供的4种基本控制语句结构_Java基础6-控制语句
  8. JAVA基础10-继承(1)
  9. ubuntu18.04.4 没有声音
  10. flask小项目打开教学