替换pandas DataFrame值模式

时间:2018-01-27 17:35:21

标签: python pandas

这是我当前使用pandas的DataFrame,它在order_number列中有一些混合类型值

       order_number             created_time  customer_id  driver_id 
153280        40487  2017-02-01 12:39:25.887         1413       96.0   
153281       118898  2017-02-01 10:52:38.822        51640     5382.0   
153282      "36968"  2017-02-02 20:54:43.141        49072     6851.0   
153283      "68383"   2017-02-02 19:01:08.52        28742     4479.0   
153284      "56261"  2017-02-01 06:09:53.245        31656        NaN 

我想从订单号中删除引号,以便DataFrame如下所示:

       order_number             created_time  customer_id  driver_id 
153280        40487  2017-02-01 12:39:25.887         1413       96.0   
153281       118898  2017-02-01 10:52:38.822        51640     5382.0   
153282        36968  2017-02-02 20:54:43.141        49072     6851.0   
153283        68383   2017-02-02 19:01:08.52        28742     4479.0   
153284        56261  2017-02-01 06:09:53.245        31656        NaN 

我已经尝试使用如下所示的替换方法,但它不起作用。

df['order_number'].replace('""','')

有人可以帮忙吗? 任何建议将不胜感激:)

1 个答案:

答案 0 :(得分:2)

我认为你需要str.strip

df['order_number'] = df['order_number'].str.strip('"').astype(float)

或为替换regex=True添加参数substring

df['order_number'] = df['order_number'].replace('"','', regex=True).astype(float)

最后将值转换为float s。