Python Сравнить содержимое фрейма данных и заменить, если оно совпадает?Python

Программы на Python
Anonymous
Python Сравнить содержимое фрейма данных и заменить, если оно совпадает?

Сообщение Anonymous »

Я работаю над небольшой программой в качестве практики в Python, и мне нужна помощь, чтобы попытаться сравнить два столбца во фрейме данных и заменить содержимое одного на другое. Я вижу свои результаты после преобразования фрейма данных в Excel.

В любом случае я хочу сравнить два столбца Location и Abbrev на основе первых трех букв каждого, а затем заменить его аббревиатурой. Таким образом, столбец LON в сокращении следует сравнивать с первыми тремя буквами в столбце London. В столбце «Сокращение» указан только один экземпляр сокращения.

Итак, я начинаю с:

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

Team         Location    GameDay   Abbrev
Arsenal      London      2/14      LON
Liverpool    Liverpool   2/14      LIV
Manchester   Manchester  2/16      MAN
Arsenal      London      2/23      NEW
Newcastle    Manchester  2/16      LEE
и я хочу получить такой результат:

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

Team        Location  GameDay   Abbrev
Arsenal     LON       2/14      LON
Liverpool   LIV       2/14      LIV
Manchester  MAN       2/16      MAN
Arsenal     LON       2/23      NEW
Newcastle   MAN       2/16      LEE
Однако сейчас я получаю только полную замену столбцов независимо от совпадения.

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

Team        Location    GameDay   Abbrev
Arsenal     LON         2/14      LON
Liverpool   LIV         2/14      LIV
Manchester  MAN         2/16      MAN
Arsenal     NEW         2/23      NEW
Newcastle   LEE         2/16      LEE
Это фрагмент кода, который у меня есть.

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

df['Location'] = df.apply(lambda row: row['Abbrev']
if row['Location'][:3].upper() != row['Abbrev']
else row['Abbrev'],axis=1)
Мне нужна помощь в выяснении того, что не так с моим кодом.

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