Я смотрю на набор данных, в котором есть столбцы "Город" и значения в нем отформатированы, например, Entity ["Город", {"Хэфэй", "Аньхой", "Китай"}]. Я хочу очистить эту колонку, чтобы осталось только название города. В случае приведенного выше примера я хочу, чтобы все было удалено, кроме Хэфэй. Я пытаюсь использовать Rstrip и Lstrip с регулярным выражением. Несмотря на то, что мое регулярное выражение кажется правильным на основе веб-сайтов онлайн-отладчика регулярных выражений, но код не работает. Вот код, который я использую:
df['City'] = df['City'].map(lambda x: x.lstrip(r'(Entity["City", {")').rstrip(r'(",\s"\w+"}])'))
Я хочу, чтобы результат был просто Хэфэй. Но результат, который я получаю:
Hefei", "Anhui", "China
lstrip, кажется, работает, но rstrip удаляет только "}], а не остальные символы, которые мне нужно удалить.
Я надеялся, что кто-нибудь скажет, где я совершаю ошибку, или покажу мне лучший способ сделать это.