Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于其他列值将dataframe函数应用于列字符串_Python_Pandas - Fatal编程技术网

Python 基于其他列值将dataframe函数应用于列字符串

Python 基于其他列值将dataframe函数应用于列字符串,python,pandas,Python,Pandas,我想从列“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'

我想从列“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','')

假设您有一个数据帧:

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

给定一个
数据帧

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