I have a dataframe that looks like this:
| Col1 | Col2 |
|---|---|
| Bonnie | Anna |
| Connor | Ethan |
| Sophia | Daniel |
And I want to sort its content alphabetically so that the final result is:
| Col1 | Col2 |
|---|---|
| Anna | Bonnie |
| Connor | Ethan |
| Daniel | Sophia |
I want each pair to be ordered alphabetically. As they are in different columns, I don’t know how to sort them directly with sort_values method. Thanks!
Advertisement
Answer
You can sort each row with DataFrame.apply
out = (df.apply(lambda row: sorted(row), axis=1, result_type='expand')
.set_axis(df.columns, axis=1))
print(out)
Col1 Col2
0 Anna Bonnie
1 Connor Ethan
2 Daniel Sophia