python - 在 Pandas 系列上使用计数器
问题描述
以下是 Pandas 系列(在这种情况下,用户和项目是索引)
它是从原来的 df 通过做df.groupby(["user, "item"])["list"].apply(lambda x: x.tolist()]
user item list
2 a [alpha, alpha]
b [alpha, alpha, beta, beta, gamma]
3 c [alpha, theta]
d [alpha, pi, pi]
1 e [rho, zeta].
我的问题是:如何将其转换为另一个系列和/或数据框,以便在列表中有一个计数器?(作为附加要求,我只想要每个列表中的前 2 项)。
user item list
2 a {alpha: 2}
b {alpha: 2, beta: 2}
3 c {alpha: 1, theta: 1}
d {alpha: 1, pi: 2}
1 e {rho: 1, zeta: 1}
我也可能想要每个项目的百分比,但基于原始列表:
user item list
2 a {alpha: 100}
b {alpha: 40, beta: 40}
3 c {alpha: 50, theta: 50}
d {alpha: 33.3, pi: 66.6}
1 e {rho: 50, zeta: 50}
解决方案
推荐阅读
- python - 查询集上的 Django 多个过滤器选项
- javascript - 悬停时,多个嵌套的圆环图不显示气球文本 - amcharts
- python - 关于在Python函数中就地修改列表的方法
- typescript - 提交 Angular 材质选择列表值作为 PostBody
- python - 生成稀疏向量的合成训练集
- html - 使用 CSS div 定位
- r - R 中的日期未使用 GGPLOT2 正确绘制
- json - 嵌套接口
- python - 如何读取和操作 Avro 架构(avsc 格式)
- javascript - 无法在 Chrome 和 FF 中随机化 HTMLCollection