作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由字典(公司和收入)组成的列表。我想对这个列表进行 ABC 分析,并且正在寻找最有效的方法。
myList = [{"Company":"Company A", "Revenue":100}, {"Company":"Company B", "Revenue":350}, {"Company":"Company C", "Revenue":80}]
我想使用 numpy 中的 cumsum。所以我首先必须以相反的顺序对收入进行排序。我会这样做:
newList = sorted(myList, key=lambda k: k['Revenue'], reverse=True)
我现在如何获得收入的累计总和以便能够进行 ABC 分析?
最佳答案
关于你做什么,Pandas 似乎更适合。下面是一个例子:
df = pd.DataFrame(myList) # Create a dataframe
sortedDf = df.sort_values('Revenue', ascending=False) # Sort by revenue
result = sortedDf['Revenue'].to_numpy().cumsum() # Make the cumulative sum
print(sortedDf)
print(result)
结果如下:
Company Revenue
1 Company B 350
0 Company A 100
2 Company C 80
[350 450 530]
请注意,Pandas 在内部使用 Numpy 来存储其列。请注意,您可以直接在数据帧上进行累积总和以保留元信息并进行进一步计算。
关于python - 如何在python中的多个字典列表中查找项目的累积总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67241117/
我是一名优秀的程序员,十分优秀!