Pandas系列的.ix索引有什么意义

2024-04-28 22:47:30 发布

您现在位置:Python中文网/ 问答频道 /正文

对于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开始,.ixindexer is deprecated赞成.iloc/.loc


Tags: 对象importpandasforplaydatastring方式
1条回答
网友
1楼 · 发布于 2024-04-28 22:47:30

注意:从熊猫v0.20开始,.ixindexer is deprecated赞成.iloc/.loc

对于Series.ix相当于[],即getitem语法。.ix/.loc支持多轴索引,这对于一个系列来说并不重要(只有一个轴),因此存在兼容性。

例如

DataFrame(...).ix[row_indexer,column_indexer]
Series(...).ix[row_indexer]

.ix本身是一个“较旧”的方法,它试图找出在使用标签或位置(整数)索引时需要什么。这就是为什么在0.11中引入.loc/.iloc来为用户提供索引选择。

相关问题 更多 >