Преобразование столбцов в числовые значения при копировании - PullRequest
0 голосов
/ 26 января 2020

У меня есть фрейм данных, который я прочитал через

data = pd.read_csv("animals_clean.csv")

Он содержит столбец, который имеет более 67000 значений, и одни и те же значения 80+ повторяются повсюду.
такие как:

   Ailurus
   Harpia
   Alligator
   Branta
   Araucaria
   Branta
   Alligator

Я хотел бы создать столбец рядом с ним, который принимает каждый отдельный тип и присваивает ему числовое значение. такие как

1
2
3
4
5
4
3

, в настоящее время мой единственный вариант - сделать это вручную через

data['animal'].replace(['harpia'], ['2'],inplace=True)

, однако это не будет жизнеспособным, так как это займет время

1 Ответ

4 голосов
/ 26 января 2020

Можно попробовать

df['num_A']=df.A.astype('category').cat.codes

Или

df['num_A']=df.A.factorize()[0]

Или

df.groupby('A').ngroup()
...