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

Pandas如何统计指定列拆分后字符串在其他列的出现次数?

解决方案

步骤说明

  1. 把A、B、C列的所有值统一转为字符串类型(避免数字与字符串的类型不匹配问题),存入集合以提升查找效率
  2. 将D列的字符串按/分割为子字符串列表
  3. 逐行统计分割后的子字符串在A、B、C列集合中的出现次数总和,结果存入新列E

代码实现

import pandas as pd

# 构造示例DataFrame
data = {
    'A': ['a', 'a', 'c'],
    'B': [6, 6, 9],
    'C': [1, 1, 3],
    'D': ['b/5/4', 'a/1/6', '9/c/3']
}
df1 = pd.DataFrame(data)

# 定义统计匹配次数的函数
def count_matching_parts(row):
    # 转换A、B、C列值为字符串并存入集合
    abc_set = set(str(val) for val in [row['A'], row['B'], row['C']])
    # 分割D列字符串为子片段
    d_segments = row['D'].split('/')
    # 统计匹配的子片段数量
    return sum(1 for seg in d_segments if seg in abc_set)

# 新增E列存储统计结果
df1['E'] = df1.apply(count_matching_parts, axis=1)

# 查看最终结果
print(df1)

输出结果

A  B  C       D  E
0  a  6  1  b/5/4  0
1  a  6  1  a/1/6  3
2  c  9  3  9/c/3  3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:20:40