python - 如何用项目计数填充列表/字典?
问题描述
处理一个计算 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' 对象是可变的,因此它们不能被散列,”但我不确定如何修复该函数。我是否必须将品牌附加到字典而不是 +=?
解决方案
You can do value_counts
df['Brand'].value_counts().to_dict()
推荐阅读
- python - 根据 Pandas 数据框中另一列的值使用 lambda if 条件列
- python - 这个语法是什么意思或做什么?
- java - Single.fromPublisher 订阅并映射到返回类型 reactivex java
- php - 预订系统:在 React Native 应用程序中获取未来 7 天的可用预约空档
- ios - 使用 Mac Catalyst 应用程序制作 Big Sur 小部件?
- javascript - 在 Ubuntu 20.04 中尝试使用 docker 映像时,Kurento Java 组调用不起作用
- node.js - 阅读 req.body 是否是 multipart/form-data 或 application/x-www-form-urlencoded 编码形式?
- python - 使用 jinja 变量构建 jinja url_for
- java - 运算顺序,BigDecimal
- java - 如何依赖:树上的特定工件?