python - np.where 不会更改给定列表列表的 numpy 数组
问题描述
我想有条件地填充给定列表的 numpy 数组。
遍历 numpy 数组的每个元素my_list
并查找dup_list
它是否具有对值,例如,1 的对值是 35。然后,将 1 中的 1 更改为 35 my_list
。
my_list = np.array([1, 2, 3, 4])
dup_list = [[1, 35], [4, 31]]
的理想结果my_list
:
array([35, 2, 3, 31])
我下面的代码没有改变任何东西......
for dup in dup_list:
np.where(my_list==dup[0], dup[1], my_list)
my_list
array([1, 2, 3, 4])
解决方案
我认为这就是你想要做的:
import numpy as np
my_list = np.array([1, 2, 3, 4])
dup_list = [[1, 35], [4, 31]]
for dup in dup_list:
my_list[np.where(my_list==dup[0])] = dup[1]
print(my_list)
结果:
[35 2 3 31]
推荐阅读
- javascript - 如何在Jquery中将文本附加到左侧而不是添加到右侧
- sql - 如何选择一组预定义的值及其计数?
- alteryx - 如何将 Alteryx .yxzp 文件解包到较低版本
- wpf - 如何使用 MVVM 模型从 WPF 中的 CheckListBox 中绑定选中/选定项目(我正在使用“WPFToolkit.Extended.dll”来获取 CheckListBox 控件)
- c# - 如何在 C# 的同一个构造函数中初始化同一个类
- terraform - 使用 terraform 在 for_each 嵌套资源中循环
- php - 使用 WordPress 插件中的目录在 URL 上生成自定义输出
- ios - 如何在 UIViewControllerRepresentable Struct 中创建 UIBarButtonItem?
- javascript - 如何在 keyCode 导航的输入中设置自动焦点?
- angular - 角度异步验证器错误未显示