是否有Python函数用于计算单元格中的字符串数量并在新的数据帧中报告这些字符串



让我们留下来我有一份杂货清单,其中一列标题为";Groceries";。例如,在每一行中都有一个字符串列表。

杂货
苹果、香蕉、橙子
苹果、香蕉、香蕉、梨
橙子、梨、香蕉

您可以split逗号上的字符串,explode多行,get_dummies转换为0/1,groupby.sum聚合:

out = (pd
.get_dummies(df['Groceries'].str.split(',s*').explode())
.groupby(level=0).sum()
)

或与crosstab:类似

s = df['Groceries'].str.split(',s*').explode()
out = pd.crosstab(s.index, s)

输出:

apples  bananas  oranges  pears
0       1        1        1      0
1       1        2        0      1
2       0        1        1      1

最新更新