Python 什么';访问Pandas中的浮点索引时,神奇的行是怎么回事?

Python 什么';访问Pandas中的浮点索引时,神奇的行是怎么回事?,python,pandas,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]] 获取: 然而,如果指数更合理地填充int,那么熊猫会合理地抱怨: KeyError: u'None of [[-999

以下是:

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]]
获取:

然而,如果指数更合理地填充int,那么熊猫会合理地抱怨:

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

这是怎么回事?为什么float和int索引的行为不同?发明神奇行的基本原理是什么?

这是一个bug。使用
.loc[标签列表]
时,如果没有标签,则应发出
键错误
。根据,如果任何标签丢失,
.loc[标签列表]
将在将来提出。

必须提出,尽管我没有足够的权限宣布某个缺陷是一个缺陷。:-)
KeyError: u'None of [[-99999999]] are in the [index]'