Pandas отображает несколько столбцов с помощью фильтраPython

Программы на Python
Anonymous
Pandas отображает несколько столбцов с помощью фильтра

Сообщение Anonymous »

У меня есть такой фрейм данных (упрощенный для этого примера)

Код: Выделить всё

 Site     LocationName    Resource#
01        Test Name            5
01          Testing            6
02       California           10
02            Texas           11
...
Каждый сайт имеет собственное сопоставление для LocationName и Resource#
Например:
  • На сайте 01 есть сопоставление {'Имя теста': 'Другой тест', 'Тестирование': 'RandomLocation' для LocationName и сопоставление из {5: 5000 для Ресурса#
  • На сайте 02 есть сопоставление {'California': 'CA-123' для LocationName и сопоставление {10: '10A', 11: '11B' для Resource#
Я пытаюсь сопоставить каждый соответствующий сайт с их сопоставлениями для разных столбцов. Если сопоставление не существует, я хочу, чтобы поле было пустым или пустым.
Мой идеальный результат:

Код: Выделить всё

Site#     LocationName    Resource#
01     Another Test         5000
01   RandomLocation
02           CA-123          10A
02                           11B
Моя идея заключалась в том, чтобы отфильтровать каждый сайт и запустить карту по серии

Код: Выделить всё

df01 = df[df.Site == '01']
df01 = df['LocationName'].map({'Test Name': 'Another Test', 'Testing': 'RandomLocation'})
Но это возвращает SettingWithCopyWarning, поскольку я выполняю эти операции с копией.
Есть ли простой способ добиться этого?< /п>

Подробнее здесь: https://stackoverflow.com/questions/784 ... h-a-filter

Вернуться в «Python»