Привет, у меня есть этот столбец в df
**Purchase Address**
917 1st St, Dallas, TX 75001
682 Chestnut St, Boston, MA 02215
669 Spruce St, Los Angeles, CA 90001
Ожидаемый результат должен быть новым столбцом City со значениями вроде:
**City**
Dallas(TX)
Boston(MA)
Los Angeles(CA)
Заранее спасибо...
вы можете использовать метод разделения и карты, чтобы получить конкретный адрес города. ссылка
>> data['**Purchase Address**'].str.split(",")
0 [917 1st St, Dallas, TX 75001]
1 [682 Chestnut St, Boston, MA 02215]
2 [669 Spruce St, Los Angeles, CA 90001]
Name: **Purchase Address**, dtype: object
>> data["address"] = data['**Purchase Address**'].str.split(",").map(lambda ele : ele[1])
**Purchase Address** address
0 917 1st St, Dallas, TX 75001 Dallas
1 682 Chestnut St, Boston, MA 02215 Boston
2 669 Spruce St, Los Angeles, CA 90001 Los Angeles
Вы можете использовать str.extract
с шаблоном регулярного выражения, содержащим группы захвата:
s = df['Purchase Address'].str.extract(r'\s([^,]+),\s([A-Z]+)\s\d+$')
df['City'] = s[0] + '(' + s[1] + ')'
Результат:
Purchase Address City
0 917 1st St, Dallas, TX 75001 Dallas(TX)
1 682 Chestnut St, Boston, MA 02215 Boston(MA)
2 669 Spruce St, Los Angeles, CA 90001 Los Angeles(CA)
@OmanBilal обязательно назначьте s
как df['Purchase Address'].str.extract(r'\s([^,]+),\s([A-Z]+)\s\d+$')
имя S не определено??