Python ix未按要求引用索引

Python ix未按要求引用索引,python,pandas,Python,Pandas,在中,它提到:ix通常试图表现得像loc,但如果标签不在索引中,则会倒退到像iloc一样 对于下面的示例,当我使用ix[0]时,它不起作用,发生了什么 注意:自Pandas v0.20起,.ix支持.iloc/.loc简短解释 考虑数据帧df df = pd.DataFrame( np.arange(16).reshape(4, 4), list('wxyz'), list('abcd')) a b c d w 0 1 2 3 x 4

在中,它提到:
ix
通常试图表现得像
loc
,但如果标签不在索引中,则会倒退到像
iloc
一样

对于下面的示例,当我使用ix[0]时,它不起作用,发生了什么

注意:自Pandas v0.20起,
.ix
支持
.iloc
/
.loc
简短解释

考虑数据帧
df

df = pd.DataFrame(
    np.arange(16).reshape(4, 4),
    list('wxyz'), list('abcd'))

    a   b   c   d
w   0   1   2   3
x   4   5   6   7
y   8   9  10  11
z  12  13  14  15
  • iloc
    是基于顺序位置的索引

    df.iloc[[0, 3], [1, 2]]
    
        b   c
    w   1   2
    z  13  14
    
    df.loc[['z', 'x'], ['b', 'c']]
    
        b   c
    z  13  14
    x   5   6
    
  • loc
    是基于标签的索引

    df.iloc[[0, 3], [1, 2]]
    
        b   c
    w   1   2
    z  13  14
    
    df.loc[['z', 'x'], ['b', 'c']]
    
        b   c
    z  13  14
    x   5   6
    
  • ix
    试着聪明点,弄清楚你需要什么,但有时会让人困惑,最重要的是会被淘汰,不应该使用

您可以检查:

ix支持混合整数和基于标签的访问。它主要基于标签,但会退回到整数位置访问,除非相应的轴是整数类型.ix是最通用的,支持.loc.iloc中的任何输入.ix还支持浮点标签方案.ix在处理混合位置索引和基于标签的层次索引时非常有用

但是,如果轴是基于整数的,则只支持基于标签的访问,而不支持位置访问。因此,在这种情况下,通常最好明确使用.iloc.loc