使用 Series 在 Pandas 中重新编制索引如何工作?

How does re-index in Pandas with Series work?

我正在研究 Pandas 和系列,出于教育目的,我创建了这个示例:

s = pd.Series([1, 3, 5, 8, 2], index = ['a', 'b', 'c', 'd', 'e'])
s1 = s1.reindex(['a', 'b', 'e'])
print(s1)

我的输出:

a    1.0
b    NaN
e    NaN
dtype: float64

首先,我不明白为什么'b'和'e'是NaN,因为源索引列表中有这些索引。另外,我不明白为什么输出序列是浮点数,而不是整数。

似乎 s1 是一个在程序其他地方定义的变量。您可以改为执行以下操作。

s = pd.Series([1, 3, 5, 8, 2], index = ['a', 'b', 'c', 'd', 'e'])
s1 = s.reindex(['a', 'b', 'e'])
print(s1)

输出为:

a    1
b    3
e    2
dtype: int64

应该是

s1 = s.reindex(['a', 'b', 'e'])
a    1
b    3
e    2
dtype: int64

或简单的loc

s.loc[['a', 'b', 'e']]
a    1
b    3
e    2
dtype: int64