Python在Pandas中切割行df

3vpjnl9f  于 2022-11-20  发布在  Python
关注(0)|答案(2)|浏览(149)

我有数据框

0                    г. Санкт-Петербург, ул. Карпинского,
1                   г. Челябинск, проспект Комсомольский,
2                         г. Екатеринбург, ул. Щербакова,
3             г. Санкт-Петербург, ул. Латышских Стрелков,
4       г. Москва, вн.тер.г. муниципальный округ Измай...

我想要“г.”和“,"之间的所有字符

0                   Санкт-Петербург
1                   Челябинск
2                   Екатеринбург
3                   Санкт-Петербург
4                   Москва

我有代码data['col'] = data['address'].str.extract('(г.*,)',但它没有给予我想要的结果

41ik7eoe

41ik7eoe1#

您可以将str.extract与下列项目搭配使用:

data['col'] = data['address'].str.extract(r'г. *([^,]+),', expand=False)

输出:

address              col
0               г. Санкт-Петербург, ул. Карпинского,  Санкт-Петербург
1              г. Челябинск, проспект Комсомольский,        Челябинск
2                    г. Екатеринбург, ул. Щербакова,     Екатеринбург
3        г. Санкт-Петербург, ул. Латышских Стрелков,  Санкт-Петербург
4  г. Москва, вн.тер.г. муниципальный округ Измай...           Москва
wfsdck30

wfsdck302#

考虑在这种情况下使用split(),给出以下模式:

data['col'] = [x.split()[1][:-1] for x in data['address']]

返回:

col
0                   Санкт-Петербург
1                         Челябинск
2                      Екатеринбург
3                   Санкт-Петербург
4                           Москва

相关问题