我是Pandas的新手,在玩Dataframe
时,我发现方法keys()
非常像dict.keys()
。但我在docs找不到它。我错过了什么?
答案 0 :(得分:10)
您可以在the source中看到这个定义的位置:
def keys(self):
return self.columns
而且,如果你看一下git blame,你可以看到它被添加为#1240: "Request: keys() method on dataFrame"的修复程序。理由似乎是:
在学习Pandas时,这种方法对于从易于理解的dict结构转变为更强大的DataFrame非常有用。作为一名熊猫新手,我们非常感谢这种心理测绘。
但是,值得注意的是DataFrame
仅支持大约一半的映射接口。例如,有iteritems
和keys
,但没有iterkeys
。并且还有一些情况,他们添加了类似但不完全相同的名称,例如iterkv
,这相当于iteritems
,但特别是因为后者"被错误地转换为。 items()by 2to3"。
你可以查看来源并查看每个内容的添加位置以及原因,但似乎没有太多的押韵或理由超出" DataFrame
有点像dict
,有点不。"
他们选择不记录大多数这些方法,或者记录DataFrame
有点像dict
这一事实,我不会依赖任何这些方法。只需使用columns
代替keys()
等