如果标题不是很清楚,很抱歉.我在构思这个问题上有些困难.

我有两个N×M维的数字array.为简单起见,假设它们都有形状(2,10).first数组由浮点数组成.例如:

[[0.1,0.02,0.2,0.3,0.013,0.7,0.7,0.11,0.18,0.6],
 [0.23,0.02,0.1,0.1,0.011,0.3,0.4,0.4,0.4,0.5]]

百位数组由0‘S和1’S组成,例如:

[[0,1,0,0,0,0,1,1,0,1],
 [1,0,1,0,0,0,0,1,1,0]]

我正在try 执行以下操作:对于第二个数组中唯一值的给定配置, Select 第一个数组中该位置的元素.举个例子,我们在第二个数组中有两行,所以1和0有4种可能的配置.即(1,1),(0,0),(1,0),(0,1).如果我们采用(1,1)的情况(即,第1行和第2行中的元素都等于第二个数组中的'1'),我想找到这些值并查找它们在第一个数组中的位置.这将从第一个数组返回(0.11,0.4).

再次,如果没有清楚地传达这一点,我向您道歉.感谢您的任何反馈.谢谢.

推荐答案

IIUC,您想要搜索列中arr21都是1的位置上的arr1:

arr1 = np.array(
    [
        [0.1, 0.02, 0.2, 0.3, 0.013, 0.7, 0.7, 0.11, 0.18, 0.6],
        [0.23, 0.02, 0.1, 0.1, 0.011, 0.3, 0.4, 0.4, 0.4, 0.5],
    ]
)

arr2 = np.array([[0, 1, 0, 0, 0, 0, 1, 1, 0, 1], [1, 0, 1, 0, 0, 0, 0, 1, 1, 0]])

out = arr1[:, np.all(arr2, axis=0)]
print(out)

打印:

[[0.11]
 [0.4 ]]

如果要查找所有组合:

unique = np.unique(arr2.T, axis=0)

for row in unique:
    print("Combination:")
    print(row)
    print()
    print(arr1[:, np.all(arr2 == row.reshape(arr2.shape[0], -1), axis=0)])
    print("-" * 80)

打印:

Combination:
[0 0]

[[0.3   0.013 0.7  ]
 [0.1   0.011 0.3  ]]
--------------------------------------------------------------------------------
Combination:
[0 1]

[[0.1  0.2  0.18]
 [0.23 0.1  0.4 ]]
--------------------------------------------------------------------------------
Combination:
[1 0]

[[0.02 0.7  0.6 ]
 [0.02 0.4  0.5 ]]
--------------------------------------------------------------------------------
Combination:
[1 1]

[[0.11]
 [0.4 ]]
--------------------------------------------------------------------------------

Python-3.x相关问答推荐

海象表达可以放在方括号中而不是括号中吗?

使用Python请求从特定URL下载图像时出错

无法使用Python slack 螺栓SDK读取在 slack 通道中收到的消息

如何使用Python将嵌套的XML转换为CSV

十进制浮点数到整型的转换错误

Pandas 插入的速度太慢了.对于跟踪代码,什么是更快的替代方案?

Python GUI:tkinter应用程序作为Windows的实时桌面

如何统计一个值连续出现的次数?

无法提出给定 for 循环的原因 (Python 3.11)

位对的距离

如何向 scikit-learn 函数添加类型提示?

使用 RANSAC 在激光雷达点云中查找电力线

如何在Pandas 中按条件计算分组?

使用打印时,用+连接是否比用,分隔更有效?

无论如何我可以在 Google colaboratory 中下载文件吗?

Python 的 unittest 和 unittest2 模块有什么区别?

TypeError:多个基地有实例布局冲突

Django Rest 框架 ListField 和 DictField

python asyncio add_done_callback 与 async def

有没有办法在多个线程中使用 asyncio.Queue ?