Python: Как сопоставить числа с уникальными элементами (перечислить уникальные объекты) в столбце? - PullRequest
0 голосов
/ 05 февраля 2020

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

Например:

ex_list=['12-B', '10002', '3A', '4', 'DCX', '3A']
df=pd.DataFrame(ex_list, columns=['Items'])

My dataframe

Это ожидаемый результат :

Expected dataframe

Обратите внимание, что мне нужно сделать это для фрейма данных с более чем 1М строк, поэтому, безусловно, был бы признателен за эффективный подход!

1 Ответ

0 голосов
/ 05 февраля 2020

Вы можете сделать это следующим образом.

import pandas as pd
ex_list=['12-B', '10002', '3A', '4', 'DCX', '3A']
df=pd.DataFrame(ex_list, columns=['Items'])
df['Num_Items']=pd.factorize(df['Items'].tolist())[0]

Вывод

    Items   Num_Items
0   12-B    0
1   10002   1
2   3A      2
3   4       3
4   DCX     4
5   3A      2
...