我有一个数据框,其中有一列包含多个值,用逗号分隔,如下所示:
Country
Australia, Cuba, Argentina
Australia
United States, Canada, United Kingdom, Argentina
我想计算每个唯一值,类似于 value_counts,如下所示:
Australia: 2
Cuba: 1
Argentina: 2
United States: 1
我最简单的方法如下所示,但我怀疑这可以更有效、更整洁地完成。
from collections import Counter
Counter(pd.DataFrame(data['Country'].str.split(',', expand=True)).values.ravel())
干杯
最佳答案
您可以使用get_dummies
df.Country.str.get_dummies(sep=', ').sum()
Out[354]:
Argentina 2
Australia 2
Canada 1
Cuba 1
United Kingdom 1
United States 1
dtype: int64
关于python - Pandas - 一个单元格中多个值的 value_counts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51128691/