Download our e-book of Introduction To Python
Shashank Shanu
2 years ago
import pandas as pd
import numpy as np
N=20
data = pd.DataFrame({
'A': pd.date_range(start='2016-01-01',periods=N,freq='D'),
'x': np.linspace(0,stop=N-1,num=N),
'y': np.random.rand(N),
'C': np.random.choice(['Low','Medium','High'],N).tolist(),
'D': np.random.normal(100, 10, size=(N)).tolist()
})
#reindexing the DataFrame
data_reindexed = data.reindex(index=[0,2,5], columns=['A', 'C', 'B'])
print(data_reindexed)
A C B
0 2016-01-01 High NaN
2 2016-01-03 Low NaN
5 2016-01-06 High NaN
import pandas as pd
import numpy as np
data1 = pd.DataFrame(np.random.randn(10,3),columns=['column1','column2','column3'])
data2 = pd.DataFrame(np.random.randn(7,3),columns=['column1','column2','column3'])
data1 = data1.reindex_like(data2)
print(data1)
column1 column2 column3
0 0.271240 0.201199 -0.151743
1 -0.269379 0.262300 0.019942
2 0.685737 -0.233194 -0.652832
3 -1.416394 -0.587026 1.065789
4 -0.590154 -2.194137 0.707365
5 0.393549 1.801881 -2.529611
6 0.062660 -0.996452 -0.029740
import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
df2 = pd.DataFrame(np.random.randn(2,3),columns=['col1','col2','col3'])
# Padding NAN's
print(df2.reindex_like(df1))
# Now Fill the NAN's with preceding Values
print ("Data Frame with Forward Fill:")
print (df2.reindex_like(df1,method='ffill'))
col1 col2 col3
0 -1.046918 0.608691 1.081329
1 -0.396384 -0.176895 -1.896393
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
Data Frame with Forward Fill:
col1 col2 col3
0 -1.046918 0.608691 1.081329
1 -0.396384 -0.176895 -1.896393
2 -0.396384 -0.176895 -1.896393
3 -0.396384 -0.176895 -1.896393
4 -0.396384 -0.176895 -1.896393
5 -0.396384 -0.176895 -1.896393
import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
df2 = pd.DataFrame(np.random.randn(2,3),columns=['col1','col2','col3'])
# Padding NAN's
print(df2.reindex_like(df1))
# Now Fill the NAN's with preceding Values
print ("Data Frame with Forward Fill limiting to 1:")
print(df2.reindex_like(df1,method='ffill',limit=1))
col1 col2 col3
0 0.824697 0.122557 -0.156242
1 0.528174 -1.140847 -1.158778
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
Data Frame with Forward Fill limiting to 1:
col1 col2 col3
0 0.824697 0.122557 -0.156242
1 0.528174 -1.140847 -1.158778
2 0.528174 -1.140847 -1.158778
3 NaN NaN NaN
4 NaN NaN NaN
import pandas as pd
import numpy as np
data1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
print(data1)
print ("After renaming the rows and columns:")
print(data1.rename(columns={'col1' : 'c1', 'col2' : 'c2'},
index = {0 : 'apple', 1 : 'banana', 2 : 'mango'}))
col1 col2 col3
0 0.047170 0.378306 -1.198150
1 1.183208 -2.195630 -0.798192
2 0.256581 0.627994 -0.674260
3 0.240853 1.677340 1.497613
4 0.820688 0.920151 -1.431485
5 -0.010474 -0.228373 -0.392640
After renaming the rows and columns:
c1 c2 col3
apple 0.047170 0.378306 -1.198150
banana 1.183208 -2.195630 -0.798192
mango 0.256581 0.627994 -0.674260
3 0.240853 1.677340 1.497613
4 0.820688 0.920151 -1.431485
5 -0.010474 -0.228373 -0.392640