Pandas重新索引DataFrame或Series对象的方法

2023-02-23 00:00:00 索引 对象 方法

在 Pandas 中,可以使用 reindex() 方法重新索引一个 DataFrame 或 Series 对象。该方法会按照指定的新索引重新排序对象,并返回一个新的对象,原始的对象不会发生改变。

假设有一个 Series 对象 s,我们可以使用 reindex() 方法重新索引它:

import pandas as pd

s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
s = s.reindex(['d', 'c', 'b', 'a'])

在这个例子中,我们使用 reindex() 方法将 Series 对象 s 按照新的索引顺序重新排序,并将结果保存到原始的 Series 对象中。新的索引顺序为 ['d', 'c', 'b', 'a'],因此结果 Series 对象中的值也按照这个顺序排列。

除了按照指定的顺序重新排序索引之外,reindex() 方法还可以进行索引填充、缺失值填充等操作。例如,我们可以使用 ffill 参数进行前向填充,将缺失值用前一个非缺失值填充:

s = s.reindex(['d', 'c', 'b', 'a', 'e'], fill_value=0, method='ffill')

在这个例子中,我们使用 fill_value 参数将缺失值填充为 0,使用 method 参数将缺失值进行前向填充。

需要注意的是,reindex() 方法不会修改原始的对象,而是返回一个新的对象。如果要修改原始的对象,可以将结果保存到原始的对象中,例如 s = s.reindex(['d', 'c', 'b', 'a'])。

相关文章