我在 DataFrame 中有一个列,如下所示:
我想计算这些列表中每个值的出现次数。
我想要的输出是一个 DataFrame,如下所示:
我已经尝试过value_counts()
结果是列表的频率,但其中的元素。
[Comedy, Drama] 28
[Comedy, Drama, Romance] 27
[Comedy] 25
[Action, Crime, Thriller] 22
[Crime, Drama, Thriller] 21
..
[Crime, Drama, Horror, Music, Thriller] 1
[Adventure, Drama, Romance] 1
[Drama, Romance, War] 1
[Action, Adventure, Fantasy] 1
[Action, Comedy, Horror, Mystery, Thriller] 1
我还尝试将列合并到列表列表中,然后进行计数,但嵌套 for
循环不是一个好方法。我希望有更好的解决方案。
最佳答案
您可以分解
然后计算值
df["genre"].explode().value_counts()
explode
会将这些列表的内容分散到各自的每一行中,以便 value_counts 会将它们计为单独的实体。
关于python - 如何计算 Pandas 列表列中每个唯一值的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75088031/