Python Pandas-从变量中替换数据帧值,而不是硬编码
我正在尝试删除列2中存在于列1中的字符串。例如: 第1栏:aBcdefGHPython Pandas-从变量中替换数据帧值,而不是硬编码,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试删除列2中存在于列1中的字符串。例如: 第1栏:aBcdefGH 第2列:ABCDEFGHxxxxzzzabCDEFGH 我只想保留xxxxx zzz,因为aBcdefGH存在于第1列中。我曾尝试通过以下替换方法进行此操作,但没有成功: df['Column 2'] = df['Column 2'].replace(df['Column 1'], "") 我甚至尝试迭代它,但效果不太好: for i in df: rem_str = df['Column 1'] df
第2列:ABCDEFGHxxxxzzzabCDEFGH 我只想保留xxxxx zzz,因为aBcdefGH存在于第1列中。我曾尝试通过以下替换方法进行此操作,但没有成功:
df['Column 2'] = df['Column 2'].replace(df['Column 1'], "")
我甚至尝试迭代它,但效果不太好:
for i in df:
rem_str = df['Column 1']
df['Column 2'] = df['Column 2'].replace(rem_str, "")
你有什么想法可以让它工作吗?谢谢你走对了,只需使用
regex=True
:
df['Column 2'].replace(df1['Column 1'], "", regex=True, inplace=True)
# xxxxxzzz
使用
列表理解
(假设没有nan且数据干净):
所需的输出是什么。@chmscrbbrfck很乐意帮助您。
[y.replace(x,'') for x,y in zip(df['Column 1'], df['Column 2'])]