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.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics