Pandas数据框基于其他列值将功能应用于列字符串

Tes*_*ty8 6 python pandas

我想从col'A'中删除col'B'中字符串的所有实例,如下所示:

col A                 col B    col C
1999 toyota camry     camry    1999 toyota 
2003 nissan pulsar    pulsar   20013 nissan
Run Code Online (Sandbox Code Playgroud)

我该如何使用熊猫呢?如果它是一个固定值(不依赖于另一列),我将使用:

df['col C'] = df['col A'].str.replace('value-to-replace','')
Run Code Online (Sandbox Code Playgroud)

Jon*_*nts 5

鉴于以下原因DataFrame之一:

df = pd.DataFrame(
    {
        'A': ['1999 toyota camry', '2003 nissan pulsar'],
        'B': ['camry', 'pulsar']
    }
)
Run Code Online (Sandbox Code Playgroud)

您可以df.apply在行轴上执行替换:

df['C'] = df.apply(lambda L: L.A.replace(L.B, ''), axis=1)
Run Code Online (Sandbox Code Playgroud)

这会给你:

                    A       B             C
0   1999 toyota camry   camry  1999 toyota 
1  2003 nissan pulsar  pulsar  2003 nissan 
Run Code Online (Sandbox Code Playgroud)