0

consider the following column in my data set.

Norm
marketer
summer
vip 
teacher
vip
manager at hotel

I want if I have manager at hotel come after vip change vip to vip of manager how I can do that?

output

Norm
marketer
summer
vip
teacher
vip of manager
manager at hotel

1 Answers1

0

Consider df:

In [1190]: df = pd.DataFrame({'Norm': ['marketer', 'summer', 'vip', 'teacher', 'vip', 'manager at hotel']})

In [1191]: df
Out[1191]: 
               Norm
0          marketer
1            summer
2               vip
3           teacher
4               vip
5  manager at hotel

Use:

In [1175]: df['new'] = df.Norm.shift(-1)

In [1194]: ix = df[df.Norm.eq('vip') & df.new.eq('manager at hotel')].index

In [1197]: df.loc[ix, 'Norm'] = df.loc[ix, 'Norm'] + '  of manager'

In [1199]: df.drop('new', 1, inplace=True)

In [1200]: df
Out[1200]: 
               Norm
0          marketer
1            summer
2               vip
3           teacher
4   vip  of manager
5  manager at hotel
Mayank Porwal
  • 33,470
  • 8
  • 37
  • 58