为什么Pandas DataFrame的.at访问器不是方法?

时间:2019-08-10 17:43:26

标签: python pandas indexing accessor

我最近一直在使用熊猫,当然使用了 .at [] .loc [] 访问器。

我不问如何使用它们。

我想了解它们如何工作以及为什么不将它们实现为方法

这可能是我不了解的一般Python主题。随意引用其他线程。我搜索了但没有发现有用的东西。

谢谢。

1 个答案:

答案 0 :(得分:0)

如评论中所述,.at[].loc[]被实现为可切片的对象,以允许slice syntax.loc[3:5]一样,这在方法({{1} }。

在Python中实现此方法的方式是使.loc(3:5) / at返回实现loc的自定义对象,如下所示:

__getitem__

class C(object): def __getitem__(self, val): print val 内部的逻辑可以检查传递的__getitem__的类型,并在传递时表现不同,例如,列表(val),函数(.loc[[False, False, False]])或slice object.loc[lambda x: ...]