pandas中的重置索引 —reindex
pandas中提供了一个重要的方法是reindex(),该方法的作用是对原索引和新索引进行匹配,也就是说,新索引含有原索引的数据,而原索引数据按照新索引排序。如果新索引中没有原索引数据,程序不会报错,而且会添加新的索引,并且值填充为NaN或者使用fill_values()填充其他值。
reindex()方法的格式:DataFrame.reindex(labels=None,index=None,axis=None,method=None,copy=True,level=None,fill_values=nan,limit=None,tolerance=None)
上述方法的部分参数含义如下:
-
index:用作索引的新序列
-
method:插值填充方式
(1)ffill 或 pad :前向填充值(用前一个索引的数据作为自己的数据)
(2)bfill 或 backfill:后向填充值(用后一哥索引的数据作为自己的数据)
(3)nearset:从最近的索引值填充 -
fill_value:引入缺失值时使用的替代值(所以的缺失值都会用这个值)
-
limit:前向填充或后向填充的最大填充量
下面通过两个简单的例子来演示重新索引的使用:
#这个例子创建了一个ser_obj的Series对象,并为其指定索引为"c、b、d、a、e",接着又调用了reindex()方法对索引重新排列,变为"a、b、c、d、e、f",由于索引" f "对应的值不存在,所以使用NaN对缺失的数据进行填充
#这个为DataFrame的reindex例子,如e没有值时会用NaN进行填充,可以使用fill_value为其填充
ffill参数的用法:
bfill参数的用法:
nearest参数的用法: