Разделить столбец на основе последнего найденного di git - PullRequest
1 голос
/ 13 июля 2020

У меня есть фрейм данных со столбцом, содержащим адрес и некоторый текст после него.

например:

Address
123 Fake St, Boulder, CO 80304 Attached Dwelling/
345 Main St, Boulder, CO 80304 Vacant Land/Lots
456 Cool Dr, Erie, CO 80516 Attached Dwelling/Building

Это то, что я хотел бы сделать

Address                               Type
123 Fake St, Boulder, CO 80304        Attached Dwelling/
345 Main St, Boulder CO 80304         Vacant Land/Lots
456 Cool Dr, Erie, Co 80516           Attached Dwelling/Building

Я думал, что это может сработать, используя регулярное выражение для поиска первого di git, но работая справа налево. Однако я получаю сообщение об ошибке «ValueError: столбцы должны иметь ту же длину, что и ключ»

df[['Address', 'Type']] = df['Address'].str.rsplit('\d', n=1, expand=True)

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Пожалуйста, split на пробеле с пятью цифрами сразу слева и разверните разделение, если вы хотите использовать split

 df.Address.str.split('(?<=\d{5})\s+', expand=True)


                         0                           1
0  123 Fake St, Boulder, CO 80304          Attached Dwelling/
1  345 Main St, Boulder, CO 80304            Vacant Land/Lots
2     456 Cool Dr, Erie, CO 80516  Attached Dwelling/Building
1 голос
/ 13 июля 2020

По-видимому, существует известная проблема: rsplit не работает с регулярным выражением ( SO question , open issue ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...