调用“ iris.species”和“ iris ['species']”有什么区别?

时间:2019-07-17 05:09:15

标签: python python-3.x data-science

我最近刚开始研究python数据科学,并注意到我可以通过两种方式调用数据集的列。我想知道使用一种方法相对于另一种方法是否有优势,或者可以互换使用?

import seaborn
iris = seaborn.load_dataset('iris')

print(iris.species)
print(iris['species'])

两个打印语句在Jupyter中都提供相同的输出

2 个答案:

答案 0 :(得分:1)

没有区别。 iris是Pandas数据框,这是访问数据框中列的两种不同方式。

尝试一下:

iris['species'] is iris.species
# True

您可以使用任何一种方法,但是我发现索引方法(iris['species'])更具通用性,例如您可以使用它来访问名称中包含空格的列,可以使用它来创建新列,并且绝不会意外检索到数据框方法或属性(例如iris.shape)而不是列。

另请参阅以下问题的答案:

答案 1 :(得分:1)

访问字典的两种方法都是等效的。

通过UpdateData(SomeHighLevelType)键(例如iris)访问'species'字典的主要优点是指定的字典键可以有空格。

例如,您可以使用iris['species']键访问iris字典,例如:'plant color'。但是,您无法通过iris['plant color']访问iris字典。