Соответствующие индексы в python для категоризации столбца

У меня есть столбец в кадре данных длиной 1083 с 143 уникальными значениями. Чтобы проиллюстрировать мой вопрос, 6 из них:

  1. пекарня
  2. больница
  3. Гостиница
  4. зубной врач
  5. Университет
  6. ресторан

Я создал еще один фрейм данных, 2x1. Первый столбец содержит 143 уникальных значения, а второй содержит то, что я хочу, чтобы каждое из них было классифицировано как. например:

 1. bakery       commercial
 2. hospital     commerical
 3. hotel        hospitality
 4. dentist      commercial
 5. university   education
 6. restaurant   hospitality

Мне было интересно, как бы я создал новый столбец в моем исходном df, сопоставляя индексы так, чтобы для любой записи в столбце, которая = "хлебобулочные изделия", была бы "коммерческая" в новом столбце.

2 ответа

Решение

Вы могли бы использовать merge и сделать что-то вроде этого:

import pandas as pd
df = pd.merge(  left=firstDataFrame, right=secondDataFrame, on='NameOfColumnContainingBakery...')

Имя столбца в on='' должен быть одинаковым в обоих таймфреймах.

Это объединяет два фрейма данных в один, который содержит дополнительный столбец, как вы его описали.

Надеюсь, это поможет.

Вы можете использовать словари, определенные где-то в вашей программе... обращайтесь к нему всякий раз, когда вы пытаетесь создать новый столбец...

categories = {"bakery" : "commercial", ... }

затем вы вызываете словарь всякий раз, когда вам нужно извлечь соответствующее значение:

categories["bakery"] # will return "commercial"
Другие вопросы по тегам