python - 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
你有什么想法?
解决方案
你需要的公式是:
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()
推荐阅读
- java - 似乎我的模块没有正确加载和保存字符串数组。为什么?
- python - Django 1.11.17 TypeError:'上下文必须是字典而不是上下文',除了它是字典
- symfony - 如何将两个实体与 ManyToOne 关联?
- angular - (Angular 6 + Spring)表单值 null
- sql-server-2012 - SELECT 子句中的 IF
- html - 如何启动应用程序在前台而不是后台抛出“a href”
- sql - 表中的 TRUNCATE 分区失败 (SQL Server)
- spring-mvc - Spring ModelAttribute 没有出价 Tomcat 9,Spring 5 MVC
- java - 无法访问 findByDescriptionContaining(字符串描述)的 lob 流
- python - Kivy v1.9.1 canvas.clear() 未按预期工作