У меня есть кадр данных, как показано ниже
df = pd.DataFrame({
"Junk":list("aaaaaabbbcccc"),
"Region":['West','West','West','West','East','East','East','South','South','South','North','North','North'],
"Sales":[1, 3, 4, 2, 4, 2, 5, 7, 9, 7, 5, 9, 5]
})
+------+--------+-------+
| Junk | Region | Sales |
+------+--------+-------+
| a | West | 1 |
| a | West | 3 |
| a | West | 4 |
| a | West | 2 |
| a | East | 4 |
| a | East | 2 |
| b | East | 5 |
| b | South | 7 |
| b | South | 9 |
| c | South | 7 |
| c | North | 5 |
| c | North | 9 |
| c | North | 5 |
+------+--------+-------+
Я пытаюсь сделать две вещи
- Сортировать кадр данных по каждому региону
Я могу добиться этого с кодом ниже
df.sort_values(by = ['Region','Sales'])
+------+--------+-------+
| Junk | Region | Sales |
+------+--------+-------+
| a | East | 2 |
| a | East | 4 |
| b | East | 5 |
| c | North | 5 |
| c | North | 5 |
| c | North | 9 |
| b | South | 7 |
| c | South | 7 |
| b | South | 9 |
| a | West | 1 |
| a | West | 2 |
| a | West | 3 |
| a | West | 4 |
+------+--------+-------+
Но я хочу сохранить порядок столбца Region
.Сначала следует указать West
, затем East
, затем South
, а затем North
Требуемый выход
+--------+----------+---------+
| Junk | Region | Sales |
+--------+----------+---------+
| a | West | 1 |
| a | West | 2 |
| a | West | 3 |
| a | West | 4 |
| a | East | 2 |
| a | East | 4 |
| b | East | 5 |
| b | South | 7 |
| c | South | 7 |
| b | South | 9 |
| c | North | 5 |
| c | North | 5 |
| c | North | 9 |
+--------+----------+---------+
Я просто хочу отсортировать
Region = East
и
Region = North
остальные регионы так, как они есть
Желаемый результат:
+--------+----------+---------+
| Junk | Region | Sales |
+--------+----------+---------+
| a | West | 1 |
| a | West | 3 |
| a | West | 4 |
| a | West | 2 |
| a | East | 2 |
| a | East | 4 |
| b | East | 5 |
| b | South | 7 |
| b | South | 9 |
| c | South | 7 |
| c | North | 5 |
| c | North | 5 |
| c | North | 9 |
+--------+----------+---------+