1、reindex()是用于创建一个符合新索引的新对象。
import pandas as pd
obj=pd.Series([1,2,3,4],index=["d","b","a","c"])
obj=obj.reindex(index=["a","b","c","d"])
print(obj)
2、reindex(index=[XXX],columns=[XXX],method=‘ffill’/‘bfill’,fill_value=‘XX’)
method:插值方式,指代向前填充或者向后填充。
fill_value:重新索引引入缺失值时所使用的替代值。
method插值的方式为:先将目标数据按照索引的顺序排序好,缺失值放在最后,缺失的值跟随排序的值。如下代码:
import pandas as pd
obj=pd.Series([0,1,2,3],index=["d","b","a","c"])
obj=obj.reindex(index=["a","b","c","d"])
obj2=obj.reindex(index=["a","b","e"],method="ffill")
print("obj:")
print(obj)
print("obj2:")
print(obj2)
打印内容为:
obj:
a 2
b 1
c 3
d 0
dtype: int64
obj2:
a 2
b 1
e 0
dtype: int64
而fill_value直接在空缺的Nan中填充值。
import pandas as pd
obj=pd.Series([0,1,2,3],index=["d","b","a","c"])
obj=obj.reindex(index=["a","b","c","d"])
obj2=obj.reindex(index=["a","b","e"],fill_value="33")
print("obj:")
print(obj)
print("obj2:")
print(obj2)
输出:
obj:
a 2
b 1
c 3
d 0
dtype: int64
obj2:
a 2
b 1
e 33
dtype: object
3、reindex()方法无repalce参数