为什么我们对 pandas 数据框使用“loc”?似乎以下代码无论是否使用 loc 都编译 anr 以类似的速度运行
%timeit df_user1 = df.loc[df.user_id=='5561']
100 loops, best of 3: 11.9 ms per loop
或者
%timeit df_user1_noloc = df[df.user_id=='5561']
100 loops, best of 3: 12 ms per loop
那么为什么要使用 loc 呢?
编辑:这已被标记为重复问题。但是虽然pandas iloc vs ix vs loc 的解释?确实提到*
您只需使用数据框的 getitem即可进行列检索:
*
df['time'] # equivalent to df.loc[:, 'time']
它没有说明我们为什么使用 loc,尽管它确实解释了 loc 的许多特性,但我的具体问题是“为什么不完全省略 loc”?我已经接受了下面一个非常详细的答案。
此外,其他帖子的答案(我认为不是答案)在讨论中非常隐藏,任何搜索我正在寻找的东西的人都会发现很难找到信息,并且提供的答案会更好地服务我的问题。