Как я могу отсортировать один столбец, не меняя другие столбцы в пандах? - PullRequest
0 голосов
/ 12 июня 2018

Пример: текущий df выглядит следующим образом:

    df=
    A B
    1 5
    2 6
    3 8
    4 1

Я хочу, чтобы результирующий df был таким (B сортируется, а A остается нетронутым):

    df=
    A B
    1 8
    2 6
    3 5
    4 1

1 Ответ

0 голосов
/ 12 июня 2018

Вам нужно сломать внутренний механизм безопасности Pandas - aligning by index, который заботится о data consistency.Таким образом, присвоение массива 1D Numpy или простого списка Python поможет, так как у них обоих нет индекса, поэтому Панды не могут выполнить выравнивание:

df['B'] = df['B'].sort_values(ascending=False).values

или

df['B'] = df['B'].sort_values(ascending=False).tolist()

оба дают:

In [77]: df
Out[77]:
   A  B
0  1  8
1  2  6
2  3  5
3  4  1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...