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

如何在DataFrame单列中匹配所有行共有的逗号分隔值?

找出DataFrame列中所有行共有的值

问题场景

假设我们有如下DataFrame(仅展示目标列):

first_column
1 hallo, test, twee, dire
2    hi, vier, twee, vijf
3   biep, boep, yes, twee

需要找出该列所有行共有的值,预期输出为:

twee

尝试使用match()函数未成功,需实现该需求。

解决方法

通过分割字符串+集合交集的方式实现,具体代码如下:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'first_column': [
        'hallo, test, twee, dire',
        'hi, vier, twee, vijf',
        'biep, boep, yes, twee'
    ]
})

# 1. 将每行字符串分割为去空格后的元素集合
row_sets = df['first_column'].apply(lambda x: set(item.strip() for item in x.split(',')))

# 2. 计算所有集合的交集,得到所有行共有的值
common_values = set.intersection(*row_sets)

# 输出结果
print('\n'.join(common_values))

关键步骤说明

  • 分割字符串时用strip()去除每个元素前后的空格,避免因空格导致的匹配失败
  • 集合的intersection方法可以直接求多个集合的交集,这是找出共有元素的高效方式
  • 如果存在多个共有值,输出会每行展示一个

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:55:35