python - Excel 的 SUMIF 函数的 Python 列表或 NumPy 等价物是什么?
问题描述
我有一个二维数组:
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)}
推荐阅读
- scala - 使用 http4s 获取请求中的 403 禁止错误
- c++ - 删除地图中一个过去的结束元素和分段错误
- python - 在 Python 3.8 中使用 qPython 和 Pandas 在 q-lang 中查询
- swift - RxSwift 中多节表格视图的 ViewModel 输入和输出
- mysql - 动态创建 PostgreSQL 表
- java - 在 Vaadin Flow 14 Web 应用程序中重置小部件的默认值而不触发其值更改侦听器
- python - SQLite 错误:尝试写入只读数据库
- sql - Redshift:将持续时间行按 24 小时时段拆分
- php - 如何从 wordpress 简码连接到数据库
- php - 如何在公共文件夹中的 php laravel 中制作轮播图像幻灯片