Извлечь часть из адреса в столбце данных pandas - PullRequest
1 голос
/ 03 мая 2020

Я работаю над учебником pandas, который посвящен анализу данных о продажах (https://www.youtube.com/watch?v=eMOA1pPVUc4&list=PLFCB5Dp81iNVmuoGIqcT5oF4K-7kTI5vp&index=6). Данные уже представлены в формате данных, в рамках одного столбца, который называется «Адрес покупки», который содержит улицу, город и штат / почтовый индекс. Формат выглядит следующим образом:

Purchase Address
917 1st St, Dallas, TX 75001
682 Chestnut St, Boston, MA 02215
...

Моя идея состояла в том, чтобы преобразовать данные в строку и затем удалить ненужные значения в списке. Я использовал команду:

all_data['Splitted Address'] = all_data['Purchase Address'].str.split(',')

, которая работала для преобразования данных в разделенный запятыми список вида

[917 1st St, Dallas, TX 75001]

Теперь весь столбец «Разделенный адрес» выглядит следующим образом: Я застрял в этой точке. Я просто хотел отбросить список индексов 0 и 2 и оставить 1, т. Е. Город в другом столбце.

В учебнике решение было выложено с использованием метода .apply ():

all_data['Column'] = all_data['Purchase Address'].apply(lambda x: x.split(',')[1])

Это решение, безусловно, выглядит более элегантно, чем мое, но мне было интересно, смогу ли я найти решение с моим подходом при сопоставимых усилиях.

Заранее спасибо.

1 Ответ

0 голосов
/ 03 мая 2020

Используйте Series.str.split с выбором по индексации:

all_data['Column'] = all_data['Purchase Address'].str.split(',').str[1]
...