I have a pandas data frame, let's call it data
. data
has two columns, column a
and column b
. Like this:
a b
0 aaa tts
1 abb tst
2 aba tss
I would like to replace each "a"
in column a
with column b
.Like this:
a b
0 ttsttstts tts
1 tstbb tst
2 tssbtss tss
I tied something like this :
data['a'] = data['a'].apply(lambda x:x.replace("sub-string",data['b']))
but as I excepted, did not work. Could anyone please tell me what to do?
You need to iterate row-wise on the df (passing axis=1
) so that you can access the individual 'b' column values that you intend to replace all occurrences of 'a' in the first column:
In [51]:
df['a'] = df.apply(lambda x: x['a'].replace('a',x['b']), axis=1)
df
Out[51]:
a b
0 ttsttstts tts
1 tstbb tst
2 tssbtss tss
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With