熊猫-从变量中替换数据帧值且未进行硬编码

时间:2019-01-01 05:15:54

标签: python pandas dataframe

我正在尝试删除第1列中存在的第2列中的字符串。例如:

  

第1列:aBcdefGH
  第2栏:aBcdefGHxxxxxzzzaBcdefGH

我只想保留 xxxxxzzz ,因为 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, "")

关于如何进行这项工作的任何想法?谢谢

2 个答案:

答案 0 :(得分:1)

使用list Comprehension(假设没有nan和数据是干净的):

[y.replace(x,'') for x,y in zip(df['Column 1'], df['Column 2'])]

答案 1 :(得分:0)

您做对了,只需使用regex=True

df['Column 2'].replace(df1['Column 1'], "", regex=True, inplace=True)

# xxxxxzzz