首页 > 解决方案 > 为什么将列表传递给数据帧的子集会返回另一个数据帧?

问题描述

我的问题很简单。

df[[‘column’]] 

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

df[‘column’]

将返回一个系列对象。我的问题是为什么它会这样。这只是在引擎盖下运行的代码所固有的行为吗?或者这是一个有特定原因的选择?它是其他语言的约定吗?我已经学习 pandas 大约 6 个月了,它相当直观,但我一直想知道为什么 pandas 会这样。

标签: pythonpandasdataframe

解决方案


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

columns = [‘column1’]所以(出于连贯性的原因) ifdf[columns]返回一个包含一列的数据框。

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


推荐阅读