Pandas从串的开始删除数字

2024-09-30 10:29:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一系列的地址,想要一个只有街道名称的系列。唯一的问题是有些地址没有门牌号,有些却有。在

所以如果我有一个系列,看起来像:

Idx
 0      11000 SOUTH PARK
 1      20314 BRAKER LANE
 2      203 3RD ST
 3      BIRMINGHAM PARK
 4      E 12TH

我要写什么函数

^{pr2}$

在哪里删除了字符串开头完全由数字字符组成的“单词”?正如你在上面看到的,我想保留“第三大街”开始的3。我在想一个正则表达式,但这超出了我的范围。谢谢!在


Tags: 函数字符串名称park地址数字街道st
2条回答

str.replace('\d+\s', '')是我想到的:

df =  pd.DataFrame({'IDx': ['11000 SOUTH PARK',
                        '20314 BRAKER LANE',
                        '203 3RD ST',
                        'BIRMINGHAM PARK',
                        'E 12TH']})

df
Out[126]: 
                 IDx
0   11000 SOUTH PARK
1  20314 BRAKER LANE
2         203 3RD ST
3    BIRMINGHAM PARK
4             E 12TH

df.IDx = df.IDx.str.replace('\d+\s', '')   

df
Out[128]: 
               IDx
0       SOUTH PARK
1      BRAKER LANE
2           3RD ST
3  BIRMINGHAM PARK
4           E 12TH

您可以使用str.replace和regex^\d+\s+来删除前导数字:

s.str.replace('^\d+\s+', '')

Out[491]:
0         SOUTH PARK
1        BRAKER LANE
2             3RD ST
3    BIRMINGHAM PARK
4             E 12TH
Name: Idx, dtype: object

相关问题 更多 >

    热门问题