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

如何在Python中统计DataFrame列表型列内元素的value_counts?

解决方法

直接用 pandas 的 explode() 方法把列表列拆分成多行,再用 value_counts() 统计单个元素的出现次数即可,代码示例如下:

1. 构造示例DataFrame

import pandas as pd

df = pd.DataFrame({
    'X': [101, 200, 32, 41, 202],
    'Y': [['A'], ['A','O'], ['B'], ['A','AB','O'], ['A']]
})

2. 统计单个元素出现次数

# 展开Y列的列表,再统计
result = df['Y'].explode().value_counts()
print(result)

运行后得到的结果:

A     4
O     2
B     1
AB    1
Name: Y, dtype: int64

如果你的 pandas 版本低于0.25(explode() 是0.25版本新增的),可以用 itertools.chain 来扁平化列表:

from itertools import chain

# 把Y列的所有列表元素合并成一个迭代器,再转成Series统计
result = pd.Series(list(chain.from_iterable(df['Y']))).value_counts()
print(result)

这个方法也能得到完全一致的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:50:25