Pandas - remove numbers from start of string in series

后端 未结 2 1942
花落未央
花落未央 2021-01-16 12:47

I\'ve got a series of addresses and would like a series with just the street name. The only catch is some of the addresses don\'t have a house number, and some do.

相关标签:
2条回答
  • 2021-01-16 13:12

    str.replace('\d+\s', '') is what I came up with:

    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
    
    0 讨论(0)
  • 2021-01-16 13:24

    You can use str.replace with regex ^\d+\s+ to remove leading digits:

    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
    
    0 讨论(0)
提交回复
热议问题