我是 Pandas 的新手,在玩它的时候Dataframe
,我发现方法keys()
很像dict.keys()
。但我在docs中找不到它。我错过了什么?
问问题
5817 次
1 回答
11
您可以查看源代码中定义的位置:
def keys(self):
return self.columns
而且,如果您查看 git blame,您会发现它是作为#1240: "Request: keys() method on dataFrame"的修复添加的。理由似乎是:
在学习 Pandas 时,这种方法对于从易于理解的 dict 结构转移到更强大的 DataFrame 很有用。作为熊猫新手,这种心理映射将不胜感激。
但是,值得注意的是,DataFrame
它只支持大约一半的映射接口。例如,有iteritems
and keys
,但没有iterkeys
。在某些情况下,他们添加了相似但不完全相同的名称,例如iterkv
,这相当于iteritems
但特别是因为后者“被 2to3 错误地转换为 .items()”。
您可以浏览源代码并查看每个添加的位置以及添加原因,但似乎没有太多的押韵或理由超出“DataFrame
有点像 a dict
,有点不像”。
事实上,他们选择不记录这些方法中的大多数,或者记录DataFrame
有点像 a dict
,我不会依赖其中的任何一个。只需使用columns
代替keys()
等。
于 2013-02-05T23:33:22.537 回答