在Pandas中访问浮点索引时,魔术行有什么用?

下列:

df = pd.DataFrame(
    {
        "a":[11, 11, 22],
        "i":[1081., 1071., 22.],
    },
)
df = df.set_index("i")
# df.index = df.set_index("i").astype(int)
print df.loc[[-99999999]]

获取:

            a
i            
-99999999 NaN

然而,如果指数更明智地填充了整数,那么熊猫明智地抱怨:

KeyError: u'None of [[-99999999]] are in the [index]'

怎么了?为什么float和int索引的行为不同,发明魔术行的理由是什么?

最佳答案 这是一个错误.如果没有标签存在,则在使用.loc [list-of-labels]时应引发KeyError.根据
docs,如果缺少任何标签,.loc [list-of-labels]将在未来提升.

点赞