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

Pandas两个存储数字列表的Object列对比及新增相同值计数列问题

解决方法

步骤1:转换列数据格式

从CSV导入的列表默认会被识别为字符串,先转换为真实的数字列表:

import pandas as pd
import ast

# 表1存储待对比的固定数字列表,取第一行值转为集合提升计算效率
target_nums = set(ast.literal_eval(df1['待对比列表列名'].iloc[0]))

# 表2按日期存储的数字列表列,逐行转成真实列表
df2['日期维度数字列名'] = df2['日期维度数字列名'].apply(ast.literal_eval)

步骤2:统计重合数字数量

遍历表2每行计算和目标列表的重合个数:

df2['重合数字个数'] = df2['日期维度数字列名'].apply(lambda x: len(set(x) & target_nums))

如果你需要两个表逐行对应比对(两表行数完全一致),可以用以下写法:

df['重合数字个数'] = df.apply(lambda row: len(set(row['表1列表列名']) & set(row['表2列表列名'])), axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:03:02