我有一个二维数组:

expenses = np.array([['jim', 'sam', 'bill', 'sam'],[1,2,6,5]])


我想知道一个新数组中每个唯一的人的总支出,而无需对任何名称进行硬编码(实际列表很长),这样我就得到了这样的输出:

totals = [['jim', 'sam', 'bill'],[1,7,6]]


有没有办法使用列表或NumPy?我不想为此使用熊猫。

提前致谢!

最佳答案

names = np.asarray(['jim', 'sam', 'bill', 'sam'])
values = np.asarray([1, 2, 6, 5])
result = {name: values[names == name].sum() for name in np.unique(names)}

关于python - 什么是Excel的SUMIF函数的Python列表或等效的NumPy?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51642321/

10-12 22:57