为什么这样:
df_data = pd.DataFrame([[1, 2, 3], [4,5,6]], index=pd.MultiIndex.from_tuples([(1,1), (1,2)]))
print(df_data.loc[[(13,37)]])
返回填充了NaN
0 1 2
13 37 NaN NaN NaN
而不是像我尝试使用KeyError
访问它时那样抛出df_data.loc[(13,37)]
例外?
答案 0 :(得分:1)
这是由于 功能设置扩大 ,如文档here中所述。引用文档:
.loc / []操作可以在设置时执行放大 该轴的非存在键。
因此,如果您想获得密钥错误,则需要使用ERROR: operator does not exist: uuid <@ text[] at character 137
代替df_data.loc[(13,37)]
示例:
df_data.loc[[(13,37)]]
以下是类似的讨论:python slicing does not give key error even when the column is missing