使用Dataframe.columns和Dataframe.keys()获得列名之间有什么区别吗?

时间:2019-06-18 12:45:05

标签: python-3.x pandas dataframe

出于好奇,使用df.columns或df.keys()获取DataFrame的列名(假设为df)之间有任何实际区别吗?

我已经按类型检查过输出,似乎完全一样。我是否遗漏了某些东西,或者这两种方法看起来一样多余?一种比另一种更适合使用吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

看起来没有实际区别,如果有,我真的很想知道它是什么。您可能在文档中看到 DataFrame.columns 具有列标签,它是一个轴属性,而 DataFrame.keys 获取信息轴。我认为由于前者是属性或引用,而后者是可调用方法,因此该方法需要更多时间来执行。我没有对此进行测试,但我很确定,即使存在差异,也不重要。而且它们都返回相同的类型:

>>> type(data.columns)
<class 'pandas.core.indexes.base.Index'>
>>> type(data.keys())
<class 'pandas.core.indexes.base.Index'>

答案 1 :(得分:1)

我注意到您可以将.keys()与Series一起使用,但不能将.columns与Series一起使用。