Python学习(十三)——pandas函数库2

时间:2022-05-11 03:46:14

重新索引

创建一个适应新索引的新对象,该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’代表如果该行的值为空,则用前一行