一:改变索引
reindex方法对于Series直接索引,对于DataFrame既可以改变行索引,也可以改变列索引,还可以两个一起改变.
1)对于Series
1 In [2]: seri = pd.Series([4.5,7.2,-5.3,3.6],index = ['d','b','a','c']) 2 3 In [3]: seri 4 Out[3]: 5 d 4.5 6 b 7.2 7 a -5.3 8 c 3.6 9 dtype: float64 10 11 In [4]: seri1 = seri.reindex(['a','b','c','d','e']) 12 13 In [5]: seri1 14 Out[5]: 15 a -5.3 16 b 7.2 17 c 3.6 18 d 4.5 19 e NaN #没有的即为NaN 20 dtype: float64 21 22 In [6]: seri.reindex(['a','b','c','d','e'], fill_value=0) 23 Out[6]: 24 a -5.3 25 b 7.2 26 c 3.6 27 d 4.5 28 e 0.0 #没有的填充为0 29 dtype: float64 30 31 In [7]: seri 32 Out[7]: 33 d 4.5 34 b 7.2 35 a -5.3 36 c 3.6 37 dtype: float64 38 39 In [8]: seri_2 = pd.Series(['blue','purple','yellow'], index=[0,2,4]) 40 41 In [9]: seri_2 42 Out[9]: 43 0 blue 44 2 purple 45 4 yellow 46 dtype: object 47 48 #reindex可用的方法:ffill为向前填充,bfill为向后填充 49 50 In [10]: seri_2.reindex(range(6),method='ffill') 51 Out[10]: 52 0 blue 53 1 blue 54 2 purple 55 3 purple 56 4 yellow 57 5 yellow 58 dtype: object 59 60 In [11]: seri_2.reindex(range(6),method='bfill') 61 Out[11]: 62 0 blue 63 1 purple 64 2 purple 65 3 yellow 66 4 yellow 67 5 NaN 68 dtype: object