python - 在同一张量纤维中不止一个为真
问题描述
给定具有其列总和为 1 的a_ij
形状的数组:(n,m)
>>> a
array([[1, 1, 0],
[0, 0, 1],
[0, 0, 0]])
如果没有 for loops,我想找到np.ndarray
b_j
带有 shape的 1-d (m,)
,如果在同一'th 行中至少有一个其他值已经包含'th 列的值,则它的第j
'th 元素包含。(哇,那是一口,甚至不是那么清楚......)。True
True
i
j
True
答案是:
>>> b
array([1,1,0])
读数b
:第一个元素中的值意味着,在第一行(即第二列)True
中至少有一个其他值。存在的第三个元素表示array 的第二行中没有其他值。True
a
b
False
True
a
解决方案
如果我理解正确:
(a.sum(axis=1) > 1) @ a
推荐阅读
- sql - 数百万条记录的 SQL Server 表的性能改进
- mysql - 如何在 MariaDB 10.1.37 / Ver 15.1 中进行适当的约束?
- javascript - 如何遍历对象字面量数组,连接共享重复 id 的值?
- .net - .NET 标准 2.0 数据.OleDb
- java - 在真实设备中显示通知的问题
- r - 为什么手动计算的 ggplot2 95%CI 和预测 95%CI 不同?
- vue.js - VueJS 在共享组件中声明 props 的位置
- c# - 数组 c# 初学者
- akka.net - 为什么在 Akka Sharding 中,父母的名字被用作 PersistenceId 的一部分?
- python - 从txt读取后如何合并数据框