python-3.x - 如何获取 Pandas Dataframe 中列列表中非重复元素的计数?

标签 python-3.x pandas duplicates

我翻阅了许多 SO 帖子,只是为了找到一个与我的情况匹配的 Pandas 解决方案,但我找不到。

我遇到的问题是,我有 Dataframe ,如下所示:

$ df
  email               hashes  
0 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="047177617644617c65697468612a676b69" rel="noreferrer noopener nofollow">[email protected]</a>    (iz3s65inn942j1bmedv., iz3s65inn942j1bmedv., 10$0mw1ewlhqlm0l)

在我的情况下,nunique()drop_duplicates() 不起作用,因为我需要获取元组本身中非重复元素的计数。在上述情况下,结果将是:

$ df
  email               hashes
0 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="493c3a2c3b092c31282439252c672a2624" rel="noreferrer noopener nofollow">[email protected]</a>    1

如何实现此结果并获取哈希列中元组的非重复元素的计数?

最佳答案

将自定义 lambda 函数与 Counter 结合使用,仅计算唯一值:

from collections import Counter

df['hashes'] = df['hashes'].apply(lambda x: sum(v == 1 for k, v in Counter(x).items()))
print (df)
              email  hashes
0  <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2d585e485f6d48554c405d4148034e4240" rel="noreferrer noopener nofollow">[email protected]</a>       1

Pandas 唯一替代 DataFrame 构造函数和 DataFrame.nunique :

df['hashes'] = pd.DataFrame(df['hashes'].tolist(), index=df.index).nunique(axis=1)
print (df)
              email  hashes
0  <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e095938592a08598818d908c85ce838f8d" rel="noreferrer noopener nofollow">[email protected]</a>       1

关于python-3.x - 如何获取 Pandas Dataframe 中列列表中非重复元素的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66707404/

相关文章:

python - 并行运行单独的进程 - Python

python - 阻止 Pandas 对列进行排序

python - 当结果不匹配时,pandas 合并如何将默认 Nan 设置为 0

javascript - JS 如果有两个以上重复项,则查找数组中重复值的索引

python - 为什么我不能在异步函数中使用 'yield from'?

python - 从url读取csv并通过pandas将其推送到数据库中

python - 如何将命令行参数输入到 Python Anywhere 的调度程序中?

python - 通过分隔符获取 pandas 列中的唯一字符串

SQL查询删除所有重复记录,但一个

python - 如何在 pandas 数据框中执行多个条件的 drop_duplicates