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

如何在Pandas同一行中用Column1值匹配Column2字符串?

问题修复与解决方案

原代码的问题

  1. 语法错误:isindf是拼写错误,正确方法是isin,但即使修正拼写,逻辑仍不符合需求
  2. 逻辑错误:df["Column2"].isin(df["Column1"])是检查Column2的每个值是否存在于整个Column1的集合中,并非你需要的同一行内Column1字符串匹配Column2内容

正确实现方式

要实现同一行内Column1的字符串是否包含在Column2中,同时处理Column2为NaN的情况,代码如下:

import pandas as pd
import numpy as np

# 构建示例数据
df = pd.DataFrame({
    'Column1': ['Jimmy', 'James', 'John'],
    'Column2': ['His name is Jimmy', 'His name is Joe', np.nan]
})

# 生成Y/N格式的匹配结果
df['Match'] = np.where(
    # 先排除Column2为空的行,再逐行检查字符串包含关系
    df['Column2'].notna() & df.apply(lambda row: row['Column1'] in row['Column2'], axis=1),
    'Y',
    'N'
)

# 如果需要布尔值(True/False),直接使用这行
# df['Match'] = df['Column2'].notna() & df.apply(lambda row: row['Column1'] in row['Column2'], axis=1)

运行结果

Column1Column2Match
JimmyHis name is JimmyY
JamesHis name is JoeN
JohnNaNN

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 06:12:05