In [3]:
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
from numpy.random import randn

In [5]:
ser1 = Series([1,2,3,4], index=['A','B','C','D'])

In [6]:
ser1


Out[6]:
A    1
B    2
C    3
D    4
dtype: int64

In [7]:
ser2 = ser1.reindex(['A','B','C','D','E','F'])

In [8]:
ser2


Out[8]:
A    1.0
B    2.0
C    3.0
D    4.0
E    NaN
F    NaN
dtype: float64

In [12]:
ser2.reindex(['A','B','C','D','E','F', 'G'], fill_value=0)


Out[12]:
A    1.0
B    2.0
C    3.0
D    4.0
E    NaN
F    NaN
G    0.0
dtype: float64

In [21]:
ser3 = Series(['USA', 'Canada', 'Germany', 'Venezuela'], index=[0,5,10,15])

ser3


Out[21]:
0           USA
5        Canada
10      Germany
15    Venezuela
dtype: object

In [24]:
ranger = range(20)

ranger


Out[24]:
range(0, 20)

In [25]:
ser3.reindex(ranger, method='ffill')


Out[25]:
0           USA
1           USA
2           USA
3           USA
4           USA
5        Canada
6        Canada
7        Canada
8        Canada
9        Canada
10      Germany
11      Germany
12      Germany
13      Germany
14      Germany
15    Venezuela
16    Venezuela
17    Venezuela
18    Venezuela
19    Venezuela
dtype: object

In [28]:
df = DataFrame(randn(25).reshape((5,5)), index=['A', 'B', 'D', 'E', 'F'],
               columns=['col1','col2','col3','col4','col5'])

df


Out[28]:
col1 col2 col3 col4 col5
A 2.673446 0.534271 -0.498221 -0.143774 -0.427843
B -0.432098 -0.503221 0.313894 -0.437301 0.044688
D -0.510158 0.143061 -0.986030 0.475656 0.330070
E 0.372351 -0.039455 0.119416 -0.091621 0.459434
F 1.052440 1.676853 0.094036 0.140220 1.295290

In [29]:
# reindex including 'C'
df2 = df.reindex(['A', 'B', 'C', 'D', 'E', 'F'])
df2


Out[29]:
col1 col2 col3 col4 col5
A 2.673446 0.534271 -0.498221 -0.143774 -0.427843
B -0.432098 -0.503221 0.313894 -0.437301 0.044688
C NaN NaN NaN NaN NaN
D -0.510158 0.143061 -0.986030 0.475656 0.330070
E 0.372351 -0.039455 0.119416 -0.091621 0.459434
F 1.052440 1.676853 0.094036 0.140220 1.295290

In [30]:
new_columns = ['col1','col2','col3','col4','col5', 'col6']

In [34]:
df2 = df2.reindex(columns=new_columns)
df2


Out[34]:
col1 col2 col3 col4 col5 col6
A 2.673446 0.534271 -0.498221 -0.143774 -0.427843 NaN
B -0.432098 -0.503221 0.313894 -0.437301 0.044688 NaN
C NaN NaN NaN NaN NaN NaN
D -0.510158 0.143061 -0.986030 0.475656 0.330070 NaN
E 0.372351 -0.039455 0.119416 -0.091621 0.459434 NaN
F 1.052440 1.676853 0.094036 0.140220 1.295290 NaN

In [35]:
df


Out[35]:
col1 col2 col3 col4 col5
A 2.673446 0.534271 -0.498221 -0.143774 -0.427843
B -0.432098 -0.503221 0.313894 -0.437301 0.044688
D -0.510158 0.143061 -0.986030 0.475656 0.330070
E 0.372351 -0.039455 0.119416 -0.091621 0.459434
F 1.052440 1.676853 0.094036 0.140220 1.295290

In [37]:
# reindexing using the 'ix' function
df.ix[['A','B','C','D','E','F'], new_columns]


Out[37]:
col1 col2 col3 col4 col5 col6
A 2.673446 0.534271 -0.498221 -0.143774 -0.427843 NaN
B -0.432098 -0.503221 0.313894 -0.437301 0.044688 NaN
C NaN NaN NaN NaN NaN NaN
D -0.510158 0.143061 -0.986030 0.475656 0.330070 NaN
E 0.372351 -0.039455 0.119416 -0.091621 0.459434 NaN
F 1.052440 1.676853 0.094036 0.140220 1.295290 NaN

In [ ]: