Different Choices for Indexing

1. loc——通过行标签索引行数据

1.1 loc[1]表示索引的是第1行(index 是整数)

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = [0,1]
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.loc[1]
'''
a    4
b    5
c    6
'''

1.2 loc[‘d’]表示索引的是第’d’行(index 是字符)

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.loc['d']
'''
a    1
b    2
c    3
'''

1.3 如果想索引列数据,像这样做会报错

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.loc['a']
'''
KeyError: 'the label [a] is not in the [index]'
'''

1.4 loc可以获取多行数据

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.loc['d':]
'''a  b  c
d  1  2  3
e  4  5  6
'''

1.5 loc扩展——索引某行某列

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.loc['d',['b','c']]
'''
b    2
c    3
'''

1,6 loc扩展——索引某列

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.loc[:,['c']]
'''c
d  3
e  6
'''

当然获取某列数据最直接的方式是df.[列标签],但是当列标签未知时可以通过这种方式获取列数据。

需要注意的是,dataframe的索引[1:3]是包含1,2,3的,与平时的不同。

2. iloc——通过行号获取行数据

2.1 想要获取哪一行就输入该行数字

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.loc[1]
'''
a    4
b    5
c    6
'''

2.2 通过行标签索引会报错

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.iloc['a']
'''
TypeError: cannot do label indexing on <class 'pandas.core.index.Index'> with these indexers [a] of <type 'str'>
'''

2.3 同样通过行号可以索引多行

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.iloc[0:]
'''a  b  c
d  1  2  3
e  4  5  6
'''

2.4 iloc索引列数据

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.iloc[:,[1]]
'''b
d  2
e  5
'''

3. ix——结合前两种的混合索引

3.1 通过行号索引

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.ix[1]
'''
a    4
b    5
c    6
'''

3.2 通过行标签索引

import pandas as pd
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print df.ix['e']
'''
a    4
b    5
c    6
'''

想学人工智能(Python、数据分析、机器学习、深度学习、推荐系统、强化学习),来公众号AI派看看吧!!

Pandas——ix vs loc vs iloc区别相关推荐

  1. Pandas警告:DeprecationWarning: .ix is deprecated.(ix、loc、iloc的区别)

    ix和loc.iloc函数都是用来获取某一行或者某一列数据的. 请看如下案例: import pandas as pd data = [[1,2,3],[4,5,6],[7,8,9]] rows = ...

  2. pandas之用loc、iloc、ix进行索引以及切片

    写在前面 虽然用了pandas很长时间了,但是基本也是围绕在用pandas去做一些文件操作以及一些常用功能,每次在用到对DataFrame进行索引时都习惯了数组的 [] 索引方式,所以在使用DataF ...

  3. pandas中DataFrame的ix,loc,iloc索引方式的异同

    pandas中DataFrame的ix,loc,iloc索引方式的异同 1.loc: 按照标签索引,范围包括start和end 2.iloc: 在位置上进行索引,不包括end 3.ix: 先在inde ...

  4. pandas loc和iloc区别

    pandas loc和iloc区别 1.区别 两者的区别就在于获取行数据的方式有点不同: loc:通过行标签来获取数据 iloc通过行号来获取数据. 2.例子 import pandas as pd ...

  5. pandas库Series使用和ix、loc、iloc基础用法

    1. pandas库Series基础用法: 直接贴出用例: 1. 构造/初始化Series的3种方法: (1)用列表list构建Series import pandas as pd my_list=[ ...

  6. Pandas中的loc与iloc用法详解

    1.基本简介 1.1 loc与iloc基本含义 loc函数:通过行索引 "Index" 中的具体值来取行数据(如取"Index"为"A"的行 ...

  7. python的loc函数_如何在pandas中使用loc、iloc函数进行数据索引(入门篇)

    在数据分析过程中,很多时候我们需要从数据表中提取出我们需要的部分,而这么做的前提是我们需要先索引出这一部分数据.今天我们就来探索一下,如何在pandas中使用loc函数和iloc函数索引数据. 今天我 ...

  8. 【Python】ix,loc,iloc的区别

    ix:通过行标签或行号索引行数据: loc:通过行标签索引: iloc:通过行号索引: 注意:pandas0.20.0版本开始,python不建议使用ix,而推荐使用更为精确的 iloc或者 loc. ...

  9. 如何在pandas中使用loc、iloc函数进行数据索引

    二.使用iloc函数索引数据 (注意~iloc函数主要通过 行号 索引行数据) 而且,iloc函数索引的数据是int整型,因此是Python默认的前闭后开.注意只能说int型,也就是数字,输入字符的话 ...

最新文章

  1. C语言通路寻找,用C语言解决迷宫问题设计与寻找通路问题.pdf
  2. 微信小程序服务(功能)直达是什么?有什么作用?
  3. IPv6扩展头部 (一) 扩展头部格式、类型与扩展选项
  4. 学会这9招,你也能成为演讲高手
  5. 微信小程序,格式化千分位并保留两位小数
  6. [UOJ50]链式反应
  7. 微软为 Chromium 版 Edge 浏览器推出新的 logo
  8. 1 linux中解决文件已rm删除但空间不释放的案例
  9. 生成0到9之间的随机整数
  10. 光电雷达智能跟踪平台
  11. python-字典和json
  12. Android 使用SwipeBackLayout实现滑动返回上一级页面——实战来袭
  13. 虚拟机在教学实验中的应用
  14. 斗鱼注册服务器没有返回,斗鱼遭遇服务器大面积崩溃事故上热搜 大量主播直播间统统不见了...
  15. [linux] ab压测工具进行post压力测试
  16. 【学习笔记】统计学入门(5/7)——二项分布
  17. 在信息不完全对称时,你可以用你的“空城计”虚张声势
  18. 计算机中常用的时间换算
  19. 正则表达式在线测试 | 菜鸟工具
  20. cs231n---RNN、图像字幕、注意力机制Attention、梯度消失、爆炸、LSTM

热门文章

  1. vue Eharts 中国地图,包含台湾省,涟漪效果,流向图
  2. Win7下制作Mac安装U盘,Windows下制作Mac启动盘
  3. TCPMP编译方法(转载)
  4. es6转es5 在线转换工具
  5. php 正则验证手机号和电话
  6. EIDE助手更新进度(详细更新记录)
  7. 回归预测分析MATLAB代码
  8. 浅谈Android自定义锁屏页的发车姿势
  9. 搭搭云3.0平台上线 全面定制SaaS带给用户什么样的体验?
  10. python如何画贝塞尔曲线_Python使用matplotlib实现绘制自定义图形功能示例