I would like to remove all instance of the string in col 'B' from col 'A', like so:
col A col B col C
1999 toyota camry camry 1999 toyota
2003 nissan pulsar pulsar 20013 nissan
How would I do this using pandas? If it was a fixed value (non-dependent on another column), I would use:
df['col C'] = df['col A'].str.replace('value-to-replace','')
Given a DataFrame
of:
df = pd.DataFrame(
{
'A': ['1999 toyota camry', '2003 nissan pulsar'],
'B': ['camry', 'pulsar']
}
)
You can df.apply
over the row axis and perform the replacement:
df['C'] = df.apply(lambda L: L.A.replace(L.B, ''), axis=1)
This'll give you:
A B C
0 1999 toyota camry camry 1999 toyota
1 2003 nissan pulsar pulsar 2003 nissan
Suppose you have a dataframe:
df
col A col B
0 1999 toyota camry camry
1 2003 nissan pulsar pulsar
Then you may proceed as follows:
df['col C'] = [el[0].replace(el[1],'') for el in zip(df['col A'],df['col B'])]
df
col A col B col C
0 1999 toyota camry camry 1999 toyota
1 2003 nissan pulsar pulsar 2003 nissan
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