- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这里的应用程序正在寻找“云基础”,但原则适用于任何地方。我有一个 numpy 屏蔽的 3D 数组(我们会说它对应于尺寸为 z、y、x 的 3D 网格框),其中我屏蔽了所有值小于 0.1 的点。我想要找到的是,在每个 x,y 点,未被屏蔽的最低 z 点索引(不是 z 中的最低值,最小 z 坐标)是多少。我可以想到一些简单的方法来做到这一点,例如:
for x points:
for y points:
minz=-1
for z points:
if x,y,z is not masked:
minz = z
break
然而,这看起来效率很低,我确信有一种更有效或更Pythonic的方法来做到这一点。我在这里缺少什么?
编辑:我不需要使用屏蔽数组,但这似乎是提出问题的最简单方法 - 我可以找到某个特定值下的最低点不使用掩码数组的阈值。
编辑 2:我正在寻找的想法(以 z=0 为最低点):
input:
[[[0,1],
[1,5]],
[[3,3],
[2,4]],
[[2,1],
[4,9]]]
threshold: val >=3
output:
[[1,1],
[2,0]]
最佳答案
假设 A
作为输入数组,您可以这样做 -
np.where((A < thresh).all(0),-1,(A >= thresh).argmax(0))
示例运行
运行#1:
In [87]: A
Out[87]:
array([[[0, 1],
[1, 5]],
[[3, 3],
[2, 4]],
[[2, 1],
[4, 9]]])
In [88]: thresh = 3
In [89]: np.where((A < thresh).all(0),-1,(A >= thresh).argmax(0))
Out[89]:
array([[1, 1],
[2, 0]])
运行#2:
In [82]: A
Out[82]:
array([[[17, 1, 2, 3],
[ 5, 13, 11, 2],
[ 9, 16, 11, 19],
[11, 16, 6, 3],
[15, 9, 14, 14]],
[[18, 19, 5, 8],
[13, 13, 17, 2],
[17, 12, 16, 0],
[19, 14, 12, 5],
[ 7, 8, 4, 7]],
[[10, 12, 11, 2],
[10, 18, 6, 15],
[ 4, 16, 0, 16],
[16, 18, 2, 1],
[10, 19, 9, 4]]])
In [83]: thresh = 10
In [84]: np.where((A < thresh).all(0),-1,(A >= thresh).argmax(0))
Out[84]:
array([[ 0, 1, 2, -1],
[ 1, 0, 0, 2],
[ 1, 0, 0, 0],
[ 0, 0, 1, -1],
[ 0, 2, 0, 0]])
关于python - 使用 numpy 有效找到最低的非遮蔽点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34639257/
我在 Interface Builder 中制作了一个标签,具有固定高度和固定宽度的约束: 我将它子类化给它一个白色的圆形边框: class CircularLabel: UILabel {
我有一个包含两个依赖项的 Maven 项目,A 和 B。其中每一个都传递地依赖于 C,但它们依赖于不同版本的 C。假设 A 依赖于 C 版本 1,B 依赖于 C 版本 2。 不幸的是,A 与版本 2
考虑以下 JavaScript 中的阴影示例: let a = 99;
考虑以下 JavaScript 中的阴影示例: let a = 99;
我列出了可以下载的目录中的文件。我制作了我不希望用户能够下载不可点击的对象的复选框。所有目录及部分文件均无法下载。 但我想完全隐藏复选框。令人困惑的是该复选框在那里但无法使用。 我的示例代码位于 js
我有一个使用 vlc 库的媒体播放器应用程序。 VLC 有 'armeabi-v7a' 和 'arm64-v8a' 的 jni 库。现在为了减小大小,我想分别为这两种架构上传 apk,所以我在 gra
对于 MongoDB 的模式验证器,我有以下内容:{ UserSchema.path('email').validate(async function (email: string) { cons
完整的错误信息: Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.3:shade (default) on p
我是一名优秀的程序员,十分优秀!