【发布时间】:2012-08-23 06:49:11
【问题描述】:
在 Python 中对矩阵的每一列执行逻辑 OR(在 1 和 0 上)的最有效方法是什么?
0 0 0
0 0 0
1 0 1
0 0 1
OR 0 0 1
_ _ _
1 0 1
一些背景:我正在使用一种动态编程方法来为我一直在从事的一个小项目生成一个表。我有两张桌子,一张是 3-d,另一张是 2-d。在 3-d 表中只有 1 或 0,而另一个包含整数。
2-d 表与 3-d 表一样生成,所以我必须将它们交错。我想要 OR 整个列的原因是查看其中是否有任何 1,如果是,则同一列将在 2-d 表中包含 1。
例子:
3-d 表:
[1][i][j]
1000010000000000...
1000000001000000...
1000000000010000...
1000000000000001...
[2][i][j]
1000100000000000...
1000001000000000...
1000000001000000...
二维表: (在对 3-d 表的每一列进行 OR 运算后,其中最左边的索引对应于 2-d 表中的一行):
1000010001100001...
100010100000000...
不确定这是否全部清楚...但感谢任何提供帮助的人! :D
我不会解释我使用的方法
【问题讨论】:
-
见bitwise operators。也可能减少。
-
你可以使用 NumPy,还是想要一些自给自足的东西?
-
@DSM
numpy中的代码是什么? -
@DSM -- 发布您的 numpy 代码作为解决方案。 (没有理由让我们都处于悬念之中;^)
标签: python matrix dynamic-programming logical-operators