﻿ Pandas DataFrame: Change the order of a DataFrame columns - w3resource

Pandas DataFrame: Change the order of a DataFrame columns

Pandas: DataFrame Exercise-25 with Solution

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
```

Python-Pandas Code Editor:

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

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿

Python: Tips of the Day

Inserting if statements using conditional list comprehensions:

```x = [1, 2, 3, 4, 5, 6]
result = []
for idx in range(len(x)):
if x[idx] % 2 == 0:
result.append(x[idx] * 2)
else:
result.append(x[idx])
result
```

Output:

```[1, 4, 3, 8, 5, 12]
```
`[(element * 2 if element % 2 == 0 else element) for element in x]`

Output:

```[1, 4, 3, 8, 5, 12]
```
`[element * 2 for element in x if element % 2 == 0]`

Output:

```[4, 8, 12]
```