热线电话:13121318867

登录
2018-10-26 阅读量: 1252
Pandas中loc、iloc与ix的区别

Pandas提供了一些索引器(indexer)属性作为取值的方法。

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
import pandas as pd
data = pd.Series(['a','b','c'],index = [1,3,5])
data
------------------------------------
1 a
3 b
5 c
dtype: object

第一种索引器是loc属性,表示取值和切片都是显示的:

data.loc[1]
data.loc[1:3]
------------------------------------
'a'

1 a
3 b
dtype: object

loc 在index的标签上进行索引,范围包括start和end。

第二种索引器是iloc属性,表示取值和切片都是Python形式的隐式索引:

data.iloc[1]
data.iloc[1:3]
--------------------------------------
'b'

3 b
5 c
dtype: object

iloc 在index的位置上进行索引,不包括end。

第三种取值属性是ix,它是前两种索引器的混合形式,在Series对象中ix等价于标准的[ ](Python列表)的取值方式,ix索引器主要用于DataFrame对象。ix 先在index的标签上索引,索引不到就在index的位置上索引(如果index非全整数),不包括end。

Python代码的设计原则之一是“显示优于隐式”。使用loc和iloc可以让代码更容易维护,可读性更高。

7.3728
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子