对于Series对象(我们称之为s),pandas提供了三种寻址方式。
s.iloc[]——用于整数位置寻址
s.loc[]——用于索引标签寻址;以及
s.ix[]——用于整数位置和标签寻址的混合。
pandas对象还直接执行ix寻址。
# play data ...
import string
idx = [i for i in string.uppercase] # A, B, C .. Z
t = pd.Series(range(26), index=idx) # 0, 1, 2 .. 25
# examples ...
t[0] # --> 0
t['A'] # --> 0
t[['A','M']] # --> [0, 12]
t['A':'D'] # --> [0, 1, 2, 3]
t.iloc[25] # --> 25
t.loc['Z'] # --> 25
t.loc[['A','Z']] # --> [0, 25]
t.ix['A':'C'] # --> [0, 1, 2]
t.ix[0:2] # --> [0, 1]
所以我的问题是:索引的.ix方法有意义吗?我是不是错过了一些重要的事情?
注意:从熊猫v0.20开始,.ix
indexer is deprecated赞成.iloc
/.loc
。
注意:从熊猫v0.20开始,
.ix
indexer is deprecated赞成.iloc
/.loc
。对于
Series
,.ix
相当于[]
,即getitem
语法。.ix/.loc
支持多轴索引,这对于一个系列来说并不重要(只有一个轴),因此存在兼容性。例如
.ix
本身是一个“较旧”的方法,它试图找出在使用标签或位置(整数)索引时需要什么。这就是为什么在0.11中引入.loc/.iloc
来为用户提供索引选择。相关问题 更多 >
编程相关推荐