python iloc和loc函数在选择行时生成不同的行为

时间:2017-01-30 20:32:08

标签: python pandas slice

我正在玩大熊猫,发现以下功能有点奇怪。

例如,我们有一个数据框

df = pd.DataFrame({"egg":[47,50,89],"salt":[12.0,19.0,np.nan],"spam":[17,31,72]})
prinf(df,'\n')
print(df.iloc[0:2,0:3],'\n')
print(df.loc[0:2,"egg":"spam"],'\n')

enter image description here

因此,如果我使用.iloc,那么对于行,不会选择索引为2的行。但是如果我使用.loc,相同的命令来选择行,则选择索引为2的行。

有人可以解释原因吗?这种行为非常不自然。

0 个答案:

没有答案