重新索引
创建一个适应新索引的新对象,该Series的reindex将会根据新索引进行重新排列。如果某个索引值不存在,就引入缺失值。
对于时间序列这样的有序数据,重新索引时可能需要做一些插值处理。method选项即可达到此目的。
1、重新索引
如,构造一个Series:
ser0=Series([101,202,303,404],index=['one','two','three','four'])
print ser0
输出:
one 101
two 202
three 303
four 404
dtype: int64
进行重新索引:
ser1=ser0.reindex(['three','two','four','one'])
print ser1
输出:
three 303
two 202
four 404
one 101
dtype: int64
2、对于新出现的索引,则引入缺失值:
ser1=ser0.reindex(['three','two','four','one','ten'])
print ser1
输出:
three 303.0
two 202.0
four 404.0
one 101.0
ten NaN
dtype: float64
3、未指定缺失值时默认填充为NaN,也可以通过fill_value指定填充值:
ser1=ser0.reindex(['three','two','four','one','ten'],fill_value=10)
print ser1
输出:
three 303
two 202
four 404
one 101
ten 10
dtype: int64
4、重新索引并通过method指定填充元素的方法
ser0=Series([101,202,303],index=[0,3,6])
ser1=ser0.reindex(range(9),method='ffill')
print ser1
输出:
0 101
1 101
2 101
3 202
4 202
5 202
6 303
7 303
8 303
dtype: int64
‘ffill’代表如果该行的值为空,则用前一行