У меня есть категориальная переменная в серии. Я хочу назначить целочисленные идентификаторы для каждого уникального значения и создать новую серию с идентификаторами, эффективно превращая строковую переменную в целочисленную переменную. Каков самый компактный/эффективный способ сделать это?Преобразование серии pandas из строки в уникальный int id
8
A
ответ
13
Вы можете использовать pandas.factorize:
In [32]: s = pd.Series(['a','b','c'])
In [33]: labels, levels = pd.factorize(s)
In [35]: labels
Out[35]: array([0, 1, 2])
5
Пример использования новой панды categorical
типа в панд 0.15+
http://pandas.pydata.org/pandas-docs/version/0.16.2/categorical.html
In [553]: x = pd.Series(['a', 'a', 'a', 'b', 'b', 'c']).astype('category')
In [554]: x
Out[554]:
0 a
1 a
2 a
3 b
4 b
5 c
dtype: category
Categories (3, object): [
a
, b
, c]
In [555]: x.cat.codes
Out[555]:
0 0
1 0
2 0
3 1
4 1
5 2
dtype: int8
Смежные вопросы
- 1. Литье NaN в int в серии pandas
- 2. pandas: Преобразование серии DataFrames в единый DataFrame
- 3. Удалите строки нулей из серии Pandas
- 4. Преобразование из строки в int?
- 5. Преобразование Pandas DataFrame в серии с multiIndex
- 6. Извлечь int из строки в Pandas?
- 7. iOS: Преобразование id в int
- 8. Преобразование строки [] в int
- 9. Преобразование большого Int из строки
- 10. преобразование строки в int
- 11. форматирование специальной строки внутри серии в Pandas
- 12. Использование значений предыдущей «строки» в серии pandas
- 13. python regex: замена строки в серии pandas
- 14. Преобразование строки в int []
- 15. Преобразование строки в int
- 16. Преобразование строки в int
- 17. Преобразование из строки в int в SSIS
- 18. Преобразование из строки в int в Swift
- 19. Удалить NaN из серии pandas
- 20. Слияние выбора из серии pandas
- 21. Переименование серии в pandas
- 22. Обработка строк в серии Pandas
- 23. Pandas Чтение SQL в CSV-Int-преобразование
- 24. Преобразование строки в читаемый int из JLabel
- 25. Преобразование строки из массива байтов в int
- 26. Auto Mapper преобразование из строки в Int
- 27. Ruby: Преобразование из строки в int
- 28. Преобразование строки из int в строку
- 29. C - преобразование из строки в unsigned int
- 30. Преобразование столбца в рамки данных pandas из int в строку
Обратите внимание, что от 0,15 (будет выпущен в ближайшие недели), будет более комплексная категориальная поддержка, см. http://pandas-docs.github.io/pandas-docs-travis/whatsnew.html#whatsnew-0150-cat – joris