Python 使用未记录的DataFrame.keys()方法

Python 使用未记录的DataFrame.keys()方法,python,dictionary,dataframe,pandas,data-analysis,Python,Dictionary,Dataframe,Pandas,Data Analysis,我是熊猫的新手,在玩它的Dataframe时,我发现了方法keys(),它的工作原理很像dict.keys()。但我在这本书里找不到它。我遗漏了什么?您可以在以下内容中看到这一点的定义: 而且,如果你看看git的错误,你可以看到它是作为一个补丁添加的。理由似乎是: 当学习熊猫时,这种方法有助于从理解良好的dict结构转移到更强大的数据帧。作为一名熊猫新手,这种思维导图将非常受欢迎 但是,值得注意的是,DataFrame只支持大约一半的映射接口。例如,有iteritems和键,但没有iterkey

我是熊猫的新手,在玩它的
Dataframe
时,我发现了方法
keys()
,它的工作原理很像
dict.keys()
。但我在这本书里找不到它。我遗漏了什么?

您可以在以下内容中看到这一点的定义:

而且,如果你看看git的错误,你可以看到它是作为一个补丁添加的。理由似乎是:

当学习熊猫时,这种方法有助于从理解良好的dict结构转移到更强大的数据帧。作为一名熊猫新手,这种思维导图将非常受欢迎

但是,值得注意的是,
DataFrame
只支持大约一半的映射接口。例如,有
iteritems
,但没有
iterkeys
。还有一些情况下,他们添加了相似但不完全相同的名称,如
iterkv
,这相当于
iteritems
,但具体是因为后者“被2to3错误地转换为.items()

您可以浏览源代码,查看其中每一个都是在哪里添加的,以及为什么添加的,但是除了“
DataFrame
有点像
dict
,而不是”之外,似乎没有太多的押韵或理由


事实上,他们选择不记录这些方法中的大多数,或者记录
DataFrame
有点像
dict
,我不会依赖这些。只需使用
columns
而不是
keys()
等等。

有很多方法/函数没有出现在文档中,
df.keys()
似乎等同于
df.columns
。。。至于原因,可能是因为源代码的格式不正确,无法被sphinx读取,我不确定。@AndyHayden:事实上,源代码根本没有docstring。@abarnert!(?)谢谢你的全面回答!顺便说一句,这是一种奇怪的策略——为新手写点东西,而不是记录下来。@GillBates:我能理解这种诱惑。在类似的情况下,我曾经签入一个函数,其docstring表示相当于“joeschmoe想要这个,他知道如何使用它,没有其他人关心”,在我停止该项目工作18个月后,我收到一封电子邮件,询问我如何联系Moe Joesch,在发现有人在寻找如何使用该功能之前,你不得不交换了3封电子邮件…@GillBates:与此同时,你可以根据文档提交一个bug。毕竟,如果#1240中的基本原理是有效的,那么记录它肯定是值得的,并且可能记录所有类似映射的方法,甚至可能记录它到底是如何和不是映射的。@GillBates,我向你保证这不是有意的策略。事实上,我们有很多事情要做,但没有足够的时间/人员去做:)很乐意接受文件上的问题或PRs
def keys(self):
    return self.columns