Управление строкой в ​​один столбец и добавление значений к новым строкам в DataFrame - Pandas - PullRequest
0 голосов
/ 29 августа 2018

У меня есть данные в кадре данных Pandas в следующем формате:

Кампания | Потратить |

L003-FL-Панама | 800 |

L015, L020 CA- Rancho | 600 |

Мне нужно добавить каждое значение из столбца Campaign, который начинается с заглавной буквы «L» и заканчивается тремя цифрами в новом столбце. Чтобы усложнить задачу, если в столбце кампании есть несколько значений в этом формате в строке, тогда мне нужно, чтобы каждое значение было указано в отдельной новой строке.

Вывод будет следующим:

Кампания | Потратить | Магазин

L003-FL-Панама | 800 | L003

L015, L020 CA- Rancho | 600 | L015

L015, L020 CA- Rancho | 600 | L020

Извинения, если это не имеет смысла, дайте мне знать, если я могу уточнить.

1 Ответ

0 голосов
/ 29 августа 2018

Вы можете использовать extractall, затем объединить с исходным фреймом данных

 df.reset_index().merge(df.Campaign.str.extractall('(\\bL\\d{3})').reset_index(),
           left_on='index',right_on  = 'level_0').drop(['index','level_0','match'],
           axis = 1).rename({0:'store'},axis = 1)

Out[65]: 
                 Campaign  Spend store
0         L003-FL-Panama     800  L003
1  L015, L020 CA- Rancho     600  L015
2  L015, L020 CA- Rancho     600  L020
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...