我目前正在做一个计算机图形学的入门项目。对于我的实现的特定部分,我正在使用一个布尔NumPy矩阵,其中所有值都是False,一些行/列是True。假设我有两个不同大小的布尔矩阵(对于上下文-这是因为在运行时删除了一些行/列):
[[True, False, False]
[True, False, False]
[True, False, False]]
和
[[True, True]
[False, False]
[False, False]]
我想创建一个新的矩阵,它将是:
[[True, True, True]
[True, False, False]
[True, False, False]]
=〉意味着我希望接收一个矩阵,该矩阵包含行和列矩阵的所有真值。
如何做到这一点?谢谢
3条答案
按热度按时间fsi0uk1n1#
如果我理解正确,你可以用途:
out = np.arange(max(shape[1], n.max()))<n[:,None]
将其更改为True的数量。*输出:
其他示例
输入:
输出:
d6kp6zgx2#
只要两个矩阵的左上角对齐,就很简单:
记住,你不是在 * 加 *,你是在 * 或 *-环。只要使用
logical_or
。这是通过元素级的。OR
另一个矩阵。mepcadol3#
你不能通过编程来添加不同大小的矩阵,你可以设计一个系统来改变布尔值 通过处理单个向量(行或列)的索引,但函数必须通过排除不希望更改的值来构建。本质上,它是一种以特定而非通用方式工作的算法,因此具体功能取决于您希望函数如何基于特定情况工作