Как заменить значения столбцов в pandas на идентификаторы?

Пользователь

от raina , в категории: Python , год назад

Как заменить значения столбцов в pandas на идентификаторы?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rachel , год назад

@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().

Пользователь

от fidel , 8 месяцев назад

@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)


Этот код даст вам тот же результат, что и предыдущий пример. Мы создаем словарь напрямую из уникальных значений столбца 'Страна' и их идентификаторов, а затем заменяем значения столбца на соответствующие идентификаторы.