如何使用Pandas以向量化方式从一列文本中移除另一列内容
向量化方式从Pandas列中逐行移除对应列的文本内容
需求:以向量化方式从Pandas的一列文本中移除另一列对应的内容,禁止使用循环或apply方法。
输入数据
import pandas as pd df = pd.DataFrame({'A': ['ABC', 'ABC'], 'B': ['A', 'B']})
对应的DataFrame:
| A | B | |
|---|---|---|
| 0 | ABC | A |
| 1 | ABC | B |
解决方案
利用Pandas字符串方法的向量化特性,直接使用str.replace逐行替换:
df['result'] = df['A'].str.replace(df['B'], '', regex=False) # 提取结果列 print(df['result'])
输出结果
0 BC 1 AC Name: result, dtype: object
说明
str.replace支持传入Series作为匹配模式,实现逐行对应的文本替换- 设置
regex=False确保按普通字符串匹配,避免B列内容包含正则特殊字符时出现意外匹配
内容的提问来源于stack exchange,提问作者Ilan Geffen
相关产品推荐
相关产品推荐

