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

如何在单个Pandas Series的列表元素中找出仅出现一次的元素?

解决单列Pandas Series含列表元素的单次出现元素提取问题

嘿,我完全懂你的困扰——当Series里的每个元素都是列表时,常规的unique()方法确实帮不上忙,因为它只会判断整个列表的唯一性,而不是列表内的单个元素。不过咱们可以通过几个简单的Pandas方法轻松解决这个问题,针对你给出的示例,具体步骤如下:

首先,先还原你的示例数据:

import pandas as pd

# 构造示例Series
s = pd.Series([['g','k'], ['e','g'], ['e'], ['k','e'], ['s'], ['g']])

接下来分三步处理:

  1. 展开列表元素:用explode()方法把每个列表里的元素拆成单独的行,这样每个元素都成为独立的记录:

    exploded_series = s.explode()
    

    这一步之后,exploded_series会变成:

    0    g
    0    k
    1    e
    1    g
    2    e
    3    k
    3    e
    4    s
    5    g
    dtype: object
    
  2. 统计元素出现频次:用value_counts()统计每个元素的出现次数:

    element_counts = exploded_series.value_counts()
    

    得到的结果是:

    e    3
    g    3
    k    2
    s    1
    dtype: int64
    
  3. 筛选仅出现一次的元素:直接从统计结果里筛选出频次等于1的元素,转成列表就是最终结果:

    single_occurrence_elements = element_counts[element_counts == 1].index.tolist()
    

    运行后single_occurrence_elements的值就是['s'],和你的预期完全一致。

如果你的Series里有多个只出现一次的元素,这个方法也能一次性把它们全部找出来,非常通用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 13:12:55