@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)
|
Этот код даст вам тот же результат, что и предыдущий пример. Мы создаем словарь напрямую из уникальных значений столбца 'Страна' и их идентификаторов, а затем заменяем значения столбца на соответствующие идентификаторы.