You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas如何判断一列的子串是否存在于另一列中

用pandas.apply实现列间子串匹配判断

完全可以通过df.apply实现需求,核心是指定按行遍历(axis=1),对每行的两个字段做匹配判断即可,完整实现代码如下:

import pandas as pd

# 构造示例数据
dct = {'col_1': ['X_a', 'Y_b'],
       'col_2': ['a_b_c', 'c_d_e',]}
df = pd.DataFrame(dct)

# 用apply按行处理生成result列
df['result'] = df.apply(
    lambda row: row['col_1'].split('_')[1] in row['col_2'],
    axis=1
)

print(df)

运行上述代码即可得到你需要的输出结果:

col_1  col_2  result
0   X_a  a_b_c    True
1   Y_b  c_d_e   False

逻辑说明

  • apply参数axis=1表示遍历DataFrame的每一行,每次传入的row就是当前行的所有字段数据
  • 先对row['col_1']按下划线_拆分,取下标为1的元素(也就是下划线后的子串)作为匹配目标
  • 直接用in运算符判断该子串是否存在于row['col_2']中,返回布尔值作为result列的取值

如果后续你的col_1拆分规则有变化,只需要调整lambda表达式里的拆分逻辑即可适配。

内容的提问来源于stack exchange,提问作者lamiren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:54:06