Pandas系列中的重新索引是如何工作的



我正在学习Pandas和Series,出于教育目的,我创建了这个例子:

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"one_answers"e"是NaN,因为源索引列表中有这些索引。此外,我不明白为什么输出序列是浮点的,而不是整数。

应该是

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

看起来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

最新更新