首页 > 解决方案 > pandas - 从另一列中的每一列中替换/删除部分

问题描述

我有 2 列 - df["_1"] 和 df["_2"]。df["_1"]:

1. ananas patrzy
2. socja lizmzwyci ęży

df["_2"]:

1. patrzy
2. ęży

我想要做的是删除 df_1 中 df_2 中相关行中的那些部分。所以结果应该是这样的:

df["_3"]

1. ananas
2. socja lizmzwyci

我尝试了什么:

1. df.apply(lambda x:  x["_1"].replace(x["_2"], ''),axis=1) # doesn't work
2. df["_1"].str.strip( df["_2"].str) # - tried also with rstrip - doesn't work either 

你有什么想法?

标签: pythonpandas

解决方案


你需要的公式是:

df['_1'] = df.apply(lambda row: row['_1'].replace(row['_2'], ''), axis='columns')

要删除任何前导/尾随空格,请添加.str.strip()

df['_1'] = df.apply(lambda row: row['_1'].replace(row['_2'], ''), axis='columns').str.strip()

推荐阅读