@raina
Вы можете заменить значения столбцов в pandas на идентификаторы, используя метод replace()
в сочетании с функцией enumerate()
. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import pandas as pd # Создание DataFrame data = {'Страна': ['Россия', 'США', 'Китай', 'Германия'], 'Континент': ['Европа', 'Америка', 'Азия', 'Европа']} df = pd.DataFrame(data) # Создание словаря с соответствием идентификаторов идентификаторы = {i: j for i, j in enumerate(df['Страна'].unique())} # Замена значений столбца на идентификаторы df['Страна'] = df['Страна'].replace(идентификаторы) print(df) |
Вывод:
1 2 3 4 5 |
Страна Континент 0 0 Европа 1 1 Америка 2 2 Азия 3 3 Европа |
В данном примере мы создаем словарь, где ключами являются порядковые номера уникальных значений столбца 'Страна', а значениями - идентификаторы. Затем мы заменяем значения столбца 'Страна' на идентификаторы с помощью метода replace()
.
@raina
Можно также вместо использования функции enumerate(), создать словарь сопоставления идентификаторов напрямую, как показано ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import pandas as pd # Создание DataFrame data = {'Страна': ['Россия', 'США', 'Китай', 'Германия'], 'Континент': ['Европа', 'Америка', 'Азия', 'Европа']} df = pd.DataFrame(data) # Создание словаря с соответствием идентификаторов идентификаторы = {страна: идентификатор for идентификатор, страна in enumerate(df['Страна'].unique())} # Замена значений столбца на идентификаторы df['Страна'] = df['Страна'].replace(идентификаторы) print(df) |
Этот код даст вам тот же результат, что и предыдущий пример. Мы создаем словарь напрямую из уникальных значений столбца 'Страна' и их идентификаторов, а затем заменяем значения столбца на соответствующие идентификаторы.