python - 为什么将列表传递给数据帧的子集会返回另一个数据帧?
问题描述
我的问题很简单。
df[[‘column’]]
将返回一个数据框对象,但
df[‘column’]
将返回一个系列对象。我的问题是为什么它会这样。这只是在引擎盖下运行的代码所固有的行为吗?或者这是一个有特定原因的选择?它是其他语言的约定吗?我已经学习 pandas 大约 6 个月了,它相当直观,但我一直想知道为什么 pandas 会这样。
解决方案
如果columns = [‘column1’, 'column2']
,则df[columns]
返回一个包含两列的数据框。
columns = [‘column1’]
所以(出于连贯性的原因) ifdf[columns]
返回一个包含一列的数据框。
而如果column = 'column1'
(不是列表),则df[column]
返回一个系列
推荐阅读
- python - 在 matplotlib 中的 3D 图的背板上绘制直方图
- c++ - 为什么我只从可变参数模板中提取一个值?
- sql - 访问不匹配或类似的查询,其中一列不包含或不像另一列
- javascript - 如何将数据库中的数据提取到 javascript 文件中并将其存储在数组中?
- entity-relationship - 哪种实体关系方法看起来正确或更好?
- elasticsearch - 获取浏览量、唯一用户的统计信息,没有任何进一步的信息,ELK 就足够了吗?
- css - 如何让css只影响一个按钮,而不是全部?
- git - 推送到不同的远程存储库
- django - 如何获得超级详细的 Django 调试信息?
- arduino - 似乎无法让这个“计数”起作用。每次我按下按钮时,无论代码如何,LED 和灯都会打开