Pandas dataframe基于其他列值对列字符串应用函数

2024-04-28 10:18:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我要从“A”列中删除“B”列中字符串的所有实例,如下所示:

col A                 col B    col C
1999 toyota camry     camry    1999 toyota 
2003 nissan pulsar    pulsar   20013 nissan

我怎么用熊猫做这个?如果是固定值(不依赖于其他列),我将使用:

df['col C'] = df['col A'].str.replace('value-to-replace','')

Tags: to实例字符串dfvaluecolreplacepulsar
2条回答

假设您有一个数据帧:

df

               col A    col B
0   1999 toyota camry   camry
1   2003 nissan pulsar  pulsar

然后,您可以执行以下操作:

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

给定DataFrame的:

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

可以在行轴上^{}执行替换:

df['C'] = df.apply(lambda L: L.A.replace(L.B, ''), axis=1)

这会给你:

                    A       B             C
0   1999 toyota camry   camry  1999 toyota 
1  2003 nissan pulsar  pulsar  2003 nissan 

相关问题 更多 >