Сортировать данные по заданному порядку списка Python - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть датафрейм со строкой, содержащей имена людей.Теперь я хочу отсортировать данные по имени, но не по алфавиту, а по заданному порядку.Так, например, я хочу упорядочить свой фрейм данных в строке имен в следующем порядке:

L = ['marc','paul','beck','julia','rest']

Если у меня есть фрейм данных, содержащий строку с именами, я хочу, чтобы в верхней части были маркеры, а затем Пол, Бек и т. Д.

Как я могу сделать это время эффективным в Python?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Если необходимо переупорядочить данные по столбцам, преобразуйте все значения в упорядоченные категории , поэтому возможно sort_values:

df = pd.DataFrame({'A':['paul','paul','julia','marc','paul','beck','beck','julia']})

L = ['marc','paul','beck','julia','rest']

df['A'] = pd.CategoricalIndex(df['A'], ordered=True, categories=L)

df = df.sort_values('A')
print (df)
       A
3   marc
0   paul
1   paul
4   paul
5   beck
6   beck
2  julia
7  julia
0 голосов
/ 26 февраля 2019
L = ['marc','paul','beck','julia','rest']
df=pd.DataFrame()
df['L']=L

Это дает вам:

    L
0   marc
1   paul
2   beck
3   julia
4   rest

Марк Пол Бек, в правильном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...