Изменение значений в кадре данных - PullRequest
0 голосов
/ 28 августа 2018

У меня есть датафрейм с именем df1. В df1 у меня есть столбец с именем «класс». Который выглядит так:

class
Car
Person
Car
Person
Rider
Rider
Person
Rider
Rider
Rider
Rider
Rider
Rider
Person
Person
Person
Rider

Вместо этого я хотел бы изменить строки в классе на целые числа. Я попытался следующий код, чтобы заменить значения, но это не изменило вывод. df1['class'].replace(['Person', 'Car', 'Rider'], [1,3,5])

Пока что вывод по-прежнему такой:

   frameID  trekkingID   x1   y1   x2   y2   class
      913           2  893  544   21   14     Car
      913         107  849  545   10   22  Person
      837           2  912  545   15   10     Car
      837         124  861  547    9   23  Person
      700          81    0  844  273  236   Rider

Вместо этого я бы хотел, чтобы это отображалось примерно так:

   frameID  trekkingID   x1   y1   x2   y2   class
      913           2  893  544   21   14     3
      913         107  849  545   10   22     1
      837           2  912  545   15   10     3
      837         124  861  547    9   23     1
      700          81    0  844  273  236     5

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

может быть немного более расширяемым (если вы получаете много категорий и вам не нужно беспокоиться о порядке между двумя списками), это

df1['class']=df1['class'].replace({'Person': 1, 'Car': 3, 'Rider': 5})
0 голосов
/ 28 августа 2018

df1['class']=df1['class'].replace(['Person', 'Car', 'Rider'], [1,3,5]) предоставлено в комментариях сработало!

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