我正在阅读《Python 数据科学手册》来了解 Pandas 库。这本书说,并且还展示了一个示例,当从字典创建系列时,索引默认为排序的字典键。当我在 Jupyter Notebook 中尝试相同的示例甚至不同的示例时,我发现索引未排序。我在这里错过了什么吗?
data = pd.Series({2: 'a', 1: 'b', 3: 'c'})
2 a
1 b
3 c
dtype: object
这是书中的示例:
在旧版本的 Pandas 中,您描述的行为确实是默认行为:从字典创建的 Series 的索引将被排序。然而,从 Pandas 1.0.0 版本开始,这种行为发生了变化。现在,当您从字典创建系列时,索引会保留键插入字典的顺序。
要实现书中示例中的排序索引行为,您可以在创建系列后显式对索引进行排序:
import pandas as pd
data = pd.Series({2: 'a', 1: 'b', 3: 'c'})
data = data.sort_index()
print(data)