为什么传递列表以对数据帧进行子集处理会返回另一个数据帧



我的问题很简单。

df[[‘column’]] 

将返回一个数据帧对象,但

df[‘column’]

将返回一个系列对象。我的问题是它为什么会这样。这只是在引擎盖下运行的代码固有的行为吗?还是这是一个有具体理由的选择?它是其他语言的惯例吗?我已经学习熊猫大约6个月了,这很直观,但我一直想知道熊猫为什么会这样。

如果columns = [‘column1’, 'column2']df[columns]返回一个包含两列的数据帧。

因此(出于一致性原因(,如果columns = [‘column1’],则df[columns]返回一个具有一列的数据帧。

而如果column = 'column1'(不是列表(,则df[column]返回一个系列

最新更新