首页 > 解决方案 > 如何用项目计数填充列表/字典?

问题描述

处理一个计算 DataFrame 列中类似项目的函数。以下是我到目前为止所拥有的,但它无法正常工作。任何帮助,将不胜感激。

brands = {'BAI': 0, 'SMARTWATER': 0, 'SPARKLING ICE': 0, 'ZICO': 0, 'IZZE': 0, 'VITA COCO': 0,
     'PERRIER': 0, 'C20': 0, 'HIBALL ENERGY': 0, 'TASTE NIRVANA': 0}

for row in df:
    c_rating = df['Brand']
    if c_rating in brands:
        brands[c_rating] += 1
    else:
        brands[c_rating] = 1
print(brands)

我收到以下错误,“TypeError:'Series' 对象是可变的,因此它们不能被散列,”但我不确定如何修复该函数。我是否必须将品牌附加到字典而不是 +=?

标签: pythonpandasdataframe

解决方案


You can do value_counts

df['Brand'].value_counts().to_dict()

推荐阅读