分隔符pandas列左侧的条件条带值

时间:2017-05-22 18:40:12

标签: python pandas

我在pandas DF中有一个列如下:

Column
30482304823
3204820
2304830
Apple   - 390483204
Orange - 3939491
grape - 34038414
apple

我想删除' - '左边的所有内容,所以基本上我希望上面看起来像:

Column
30482304823
3204820
2304830
390483204
3939491
34038414
apple

我尝试了以下pandas片段:

out['Column'] = out['Column'].str.split('-', 1, expand=True)[1]
out['Column'] = out['Column'].str.replace('Orange -', '', )
out['Column'].str.map(lambda x: x.lstrip('Orange -'))
out['Column'].str.lstrip('Orange -') 

2 个答案:

答案 0 :(得分:3)

最简单的我能想到的是

df.Column.str.split('\s*-\s*').str[-1]

0    30482304823
1        3204820
2        2304830
3      390483204
4        3939491
5       34038414
6          apple
Name: Column, dtype: object

答案 1 :(得分:1)

out['Column'] = out['Column'].apply(lambda x : str(x).split('-')[-1])