Pandas——ix vs loc vs iloc区别
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区别相关推荐
- 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 = ...
- pandas之用loc、iloc、ix进行索引以及切片
写在前面 虽然用了pandas很长时间了,但是基本也是围绕在用pandas去做一些文件操作以及一些常用功能,每次在用到对DataFrame进行索引时都习惯了数组的 [] 索引方式,所以在使用DataF ...
- pandas中DataFrame的ix,loc,iloc索引方式的异同
pandas中DataFrame的ix,loc,iloc索引方式的异同 1.loc: 按照标签索引,范围包括start和end 2.iloc: 在位置上进行索引,不包括end 3.ix: 先在inde ...
- pandas loc和iloc区别
pandas loc和iloc区别 1.区别 两者的区别就在于获取行数据的方式有点不同: loc:通过行标签来获取数据 iloc通过行号来获取数据. 2.例子 import pandas as pd ...
- pandas库Series使用和ix、loc、iloc基础用法
1. pandas库Series基础用法: 直接贴出用例: 1. 构造/初始化Series的3种方法: (1)用列表list构建Series import pandas as pd my_list=[ ...
- Pandas中的loc与iloc用法详解
1.基本简介 1.1 loc与iloc基本含义 loc函数:通过行索引 "Index" 中的具体值来取行数据(如取"Index"为"A"的行 ...
- python的loc函数_如何在pandas中使用loc、iloc函数进行数据索引(入门篇)
在数据分析过程中,很多时候我们需要从数据表中提取出我们需要的部分,而这么做的前提是我们需要先索引出这一部分数据.今天我们就来探索一下,如何在pandas中使用loc函数和iloc函数索引数据. 今天我 ...
- 【Python】ix,loc,iloc的区别
ix:通过行标签或行号索引行数据: loc:通过行标签索引: iloc:通过行号索引: 注意:pandas0.20.0版本开始,python不建议使用ix,而推荐使用更为精确的 iloc或者 loc. ...
- 如何在pandas中使用loc、iloc函数进行数据索引
二.使用iloc函数索引数据 (注意~iloc函数主要通过 行号 索引行数据) 而且,iloc函数索引的数据是int整型,因此是Python默认的前闭后开.注意只能说int型,也就是数字,输入字符的话 ...
最新文章
- C语言通路寻找,用C语言解决迷宫问题设计与寻找通路问题.pdf
- 微信小程序服务(功能)直达是什么?有什么作用?
- IPv6扩展头部 (一) 扩展头部格式、类型与扩展选项
- 学会这9招,你也能成为演讲高手
- 微信小程序,格式化千分位并保留两位小数
- [UOJ50]链式反应
- 微软为 Chromium 版 Edge 浏览器推出新的 logo
- 1 linux中解决文件已rm删除但空间不释放的案例
- 生成0到9之间的随机整数
- 光电雷达智能跟踪平台
- python-字典和json
- Android 使用SwipeBackLayout实现滑动返回上一级页面——实战来袭
- 虚拟机在教学实验中的应用
- 斗鱼注册服务器没有返回,斗鱼遭遇服务器大面积崩溃事故上热搜 大量主播直播间统统不见了...
- [linux] ab压测工具进行post压力测试
- 【学习笔记】统计学入门(5/7)——二项分布
- 在信息不完全对称时,你可以用你的“空城计”虚张声势
- 计算机中常用的时间换算
- 正则表达式在线测试 | 菜鸟工具
- cs231n---RNN、图像字幕、注意力机制Attention、梯度消失、爆炸、LSTM