在Pandas中访问浮点索引时,有什么神奇的行?

时间:2018-01-08 23:09:27

标签: python 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索引的行为不同,发明魔术行的理由是什么?

1 个答案:

答案 0 :(得分:1)

这是一个错误。如果没有标签存在,则在使用KeyError时应引发.loc[list-of-labels]。根据{{​​3}},如果任何标签丢失,.loc[list-of-labels]将来会提升。