w3resource

Pandas DataFrame: Change the order of a DataFrame columns


Write a Pandas program to change the order of a DataFrame columns.

Sample data:
Original DataFrame
col1 col2 col3
0 1 4 7
1 4 5 8
2 3 6 9
3 4 7 0
4 5 8 1
After altering col1 and col3
col3 col2 col1
0 7 4 1
1 8 5 4
2 9 6 3
3 0 7 4
4 1 8 5

Sample Solution :

Python Code :

import pandas as pd
import numpy as np
d = {'col1': [1, 4, 3, 4, 5], 'col2': [4, 5, 6, 7, 8], 'col3': [7, 8, 9, 0, 1]}
df = pd.DataFrame(data=d)
print("Original DataFrame")
print(df)
print('After altering col1 and col3')
df = df[['col3', 'col2', 'col1']]
print(df)

Sample Output:

 Original DataFrame
   col1  col2  col3
0     1     4     7
1     4     5     8
2     3     6     9
3     4     7     0
4     5     8     1
After altering col1 and col3
   col3  col2  col1
0     7     4     1
1     8     5     4
2     9     6     3
3     0     7     4
4     1     8     5                 

Explanation:

The said code creates a Pandas DataFrame called ‘df’ with three columns labeled 'col1', 'col2', and 'col3' and five rows of data.

df = df[['col3', 'col2', 'col1']]: This code reorders the columns of ‘df’ using double brackets, [['col3', 'col2', 'col1']], to select the columns in the order 'col3', 'col2', and 'col1'. The resulting DataFrame, which has the same data as the original ‘df’ but with columns in a different order, is stored back into the ‘df’ variable.

Python-Pandas Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Pandas program to select rows from a given DataFrame based on values in some columns.
Next: Write a Pandas program to add one row in an existing DataFrame.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.