pandas: replace string with another string

前端 未结 4 1360
深忆病人
深忆病人 2020-12-10 12:33

I have the following data frame

    prod_type
0   responsive
1   responsive
2   respon
3   r
4   respon
5   r
6   responsive

I would like t

相关标签:
4条回答
  • 2020-12-10 12:53

    Other solution in case all items from df['prod_type'] will be the same:

    df['prod_type'] = ['responsive' for item in df['prod_type']]
    In[0]: df
    Out[0]:
    prod_type
    0  responsive
    1  responsive
    2  responsive
    3  responsive
    4  responsive
    5  responsive
    6  responsive
    
    0 讨论(0)
  • 2020-12-10 12:57

    alternatively, you can use apply function with lambda syntax

    df['prod_type'] = df['prod_type'].apply(lambda x: x.replace('respon', 'responsvie'))
    
    0 讨论(0)
  • 2020-12-10 12:58

    Solution with replace by dictionary:

    df['prod_type'] = df['prod_type'].replace({'respon':'responsive', 'r':'responsive'})
    print (df)
        prod_type
    0  responsive
    1  responsive
    2  responsive
    3  responsive
    4  responsive
    5  responsive
    6  responsive
    

    If need set all values in column to some string:

    df['prod_type'] = 'responsive' 
    
    0 讨论(0)
  • 2020-12-10 13:11

    You don't need to pass regex=True here, as this will look for partial matches, as you''re after exact matches just pass the params as separate args:

    In [7]:
    df['prod_type'] = df['prod_type'].replace('respon' ,'responsvie')
    df['prod_type'] = df['prod_type'].replace('r', 'responsive')
    df
    
    Out[7]:
        prod_type
    0  responsive
    1  responsive
    2  responsvie
    3  responsive
    4  responsvie
    5  responsive
    6  responsive
    
    0 讨论(0)
提交回复
热议问题