首页 > 解决方案 > 在数据框列中分离出逗号分隔的项目并获取单独的计数

问题描述

我有一个包含多个逗号分隔值的列的数据框:

一个
A B C D
一个,c
b, d
b, d
c, d

我希望将列中每个逗号分隔值的计数作为数据框,如下所示:

一个 数数
一个 2
b 3
C 3
d 4

熊猫有没有直接的方法来实现这一点?

我目前已经解析了 A 列以获取 A 中唯一项目的列表。然后通过再次解析该列并检查单个单元格中是否存在项目来再次创建字典。

标签: pythonpandasdataframe

解决方案


您可以这样做 (i) 将字符串拆分为可迭代对象,(ii) 将可迭代对象分解为单独的行,(iii) 计算值:

import pandas as pd
df = pd.DataFrame({'A': {0: 'a, b, c, d', 1: 'a, c', 2: 'b, d', 3: 'b, d', 4: 'c, d'}})

df['A'].str.split(', ').explode().value_counts()

d    4
c    3
b    3
a    2

推荐阅读