首页 > 解决方案 > 从 Pandas 数据框中提取数据作为列表,同时保留顺序

问题描述

假设我有一些 Pandas 数据框df,其中有一个名为“HEIGHT”的列,以及许多其他列。

如果我发出list(df["HEIGHT"]),那么这将按照它们在数据框中的确切顺序为我提供该列中的项目列表,即按数据框的索引排序。

总是这样吗?该df["HEIGHT"]命令将返回一个系列list()并将其转换为列表。但是这些操作是否总是保序的?有趣的是,在 Pandas 作者(!)的 [book 1 ] 中,从我目前的阅读来看,我不清楚这些基本操作何时保持秩序;秩序可能总是保持不变,还是有一些简单的规则可以知道何时应该保持秩序?

标签: pandaspython-3.6

解决方案


pandas Series 中元素的顺序(即 pandas DataFrame 中的列)不会改变,除非你做一些事情让它改变。并且保证python的顺序list反映插入顺序(SO线程)。

所以是的,df[0].tolist()(比 稍快list(df[0]))应该总是产生一个 Python 元素列表,其顺序与df[0].


推荐阅读