python - 如何在python中的多个字典列表中查找项目的累积总和

标签 python list numpy dictionary

我有一个由字典(公司和收入)组成的列表。我想对这个列表进行 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/

相关文章:

numpy - 不同形状的 NumPy 数组的逐元素乘法

python - 在 scrapy 中返回第一个遇到的结果

python - matplotlib 连接散点图中的点

python - Pandas 数据框列上的子字符串

在 while 循环内记录更改的 Pythonic 方式

css - 列表元素符号右对齐

python - 对于循环和矩阵,替换行

python - Selenium 文件上传 url "path is not absolute"

Python - 如何删除列表列表中的重复元组?

python - 有哪些使用有限元求解结构二维和三维框架的 Python 库?