为何Pandas中单双括号取值会导致输出索引显示不同?
Pandas单括号与双括号取列的输出差异原因
问题里的两种写法,本质是返回了Pandas中两种不同的数据结构,这直接导致了StrataScratch平台上的输出差异:
单括号写法
['worker_title']:返回的是Pandas的Series(一维带索引的序列)。Series本身是绑定索引的一维数据结构,所以在输出时必然会显示索引列,这就是你看到带索引结果的原因。
等价写法示例:workers.loc[workers['rank'] == 1, 'worker_title'],返回的同样是Series。双括号写法
[['worker_title']]:返回的是Pandas的DataFrame(二维表格结构)。哪怕只有一列,它依然是完整的表格对象。StrataScratch平台对DataFrame的输出规则默认隐藏索引,所以最终呈现出符合要求的无索引结果。
等价写法示例:workers.loc[workers['rank'] == 1, ['worker_title']],返回单列DataFrame。
简单总结:单括号取的是「带索引的单列数据」,双括号取的是「只有一列的完整表格」,平台对这两种结构的展示规则不同,就出现了你看到的差异。
内容的提问来源于stack exchange,提问作者Ruslan Efanov
相关产品推荐
相关产品推荐

