Привет, я новичок в Python и в настоящее время ищу способ эффективно получить часть строки из столбца на основе условия.

Сейчас у меня есть столбец с адресом. Выглядит это примерно так.

data = {'addr': ['Seoul Gangnam Apgujeong 38-5', 'Seoul Songpa Jamsil 40-1 5-1302', 'Jeju Jeju Aewol 31-5', 'Busan Haeuondae Centum 70-1 7-141']}

Я хочу извлечь второе и третье значение строки. Результат должен выглядеть примерно так

data = {'addr': ['Gangnam Apgujeong', 'Songpa Jamsil', 'Jeju Aewol', 'Haeuondae Centum']}

Будем признательны за любые отзывы !! Заранее спасибо!!

-1
Adam 24 Ноя 2021 в 09:04

1 ответ

Лучший ответ

Вы можете использовать понимание списка с помощью split, нарезки и join:

data = {'addr': ['Seoul Gangnam Apgujeong 38-5', 'Seoul Songpa Jamsil 40-1 5-1302', 'Jeju Jeju Aewol 31-5', 'Busan Haeuondae Centum 70-1 7-141']}
output = {'addr': [' '.join(s.split()[1:3]) for s in data['addr']]}
print(output) # {'addr': ['Gangnam Apgujeong', 'Songpa Jamsil', 'Jeju Aewol', 'Haeuondae Centum']}
1
j1-lee 24 Ноя 2021 в 09:08
Спасибо большое!
 – 
Adam
24 Ноя 2021 в 09:16