numpy - 在数组中查找元组并获取其索引和值
问题描述
我有一个这样的数组
np.array([[(115, 1), 47],
[(115, 2), 1],
[(115, 3), 3],
[(2147482888, 5), 26],
[(275030867, 5), 3]], dtype=object)
我如何获得所需的元组说 (115, 1) 并获得其对应的值 47 并根据某些条件通过加法或减法对其进行更新。
假设我想获得 (115, 1) 并将 2 添加到其值 47 + 2 如果数组包含 (115, 1)
如果数组不包含 (10009, 10) 则将其添加到数组中,默认值为 10
谢谢
解决方案
数组最适合用于连续的同质数据块(例如 n 浮点数组)。听起来你想要一个键值对的字典。在这种情况下,您可以执行以下操作:
# original data
x = np.array([[(115, 1), 47],
[(115, 2), 1],
[(115, 3), 3],
[(2147482888, 5), 26],
[(275030867, 5), 3],
[0, 0]], dtype=object)
d = dict(x)
d[(115,1)] += 2
输出:
{(115, 1): 49,
(115, 2): 1,
(115, 3): 3,
(2147482888, 5): 26,
(275030867, 5): 3,
0: 0}
推荐阅读
- c# - 列表方法中的错误说 MultipleActiveResultsSets
- prometheus - Grafana 添加 Prometheus 数据源,无访问选项
- javascript - 根据选定的下拉值显示 div
- flutter - Flutter:使用泛型创建小部件时出现子类型错误
- python - Python 连接到 Exchange /w Windows 身份验证
- android - 带有 Flutter 的 Rive(flare) 文件显示并在 QEMU Android 模拟器上运行良好,但不会在真实 Android 设备中的内置 APK 上显示
- android - 如果没有 @Provides-annotated 方法就无法提供,组件中存在具有匹配键的绑定
- ios - 未找到 Flutter 插件开发原生 vendored_frameworks 文件
- c++ - 挂钩 SetWindowLongW API
- python-3.x - 有没有办法根据改变 x 轴限制和 y 轴限制来绘制 Matplotlib 的 Imshow?