- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
假设我有 3 个(或 100 个) ndarray,其中 dim=2 且 shape=(x, y),它们彼此堆叠在一起。
对于另一个数组下面的数组中的每个索引,下面的值比上面的值更小,如下所示:
A =
[ 0 0 1 1
0 0 0 1
0 0 0 0
0 0 0 0 ]
B =
[ 2 2 2 2
2 2 2 2
1 2 2 2
1 1 2 2 ]
C =
[ 3 4 4 3
3 4 4 4
2 3 4 4
2 2 2 4 ]
给定一个数字(例如1.5),我想找到
for each (x, y) of the ndarrays:
(1) the index of the stacked array, that has the biggest value below and
(2) the index of the stacked array, that has the smalest value above the number
that is, the sourunding "bouding layer" of the number)
对于上面的示例数组,这将是:阈值以下图层索引
I_biggest_smaller_number =
[ 0 0 0 0
0 0 0 0
1 0 0 0
1 1 0 0 ]
阈值以上图层的索引
I_smallest_bigger_number =
[ 1 1 1 1
1 1 1 1
2 1 1 1
2 2 1 1]
以最有效的方式使用 numpy。任何帮助将不胜感激:)
最佳答案
您似乎想要使用 NumPy 的 max
、min
和 where
函数的组合。
使用 numpy.where 允许我们根据条件查找矩阵条目的索引。在这种情况下,我们可以询问矩阵条目子集的最大/最小值(大于或小于给定数字)的值的索引是什么。
这很拗口,但希望这里包含的代码应该有所帮助。但请注意:在您的示例中,B[3,2]
和 C[3,2]
中的值相同。也许这是一个错字;但是,我在下面的代码中对此做了一些假设。
import numpy as np
A = np.array([[0,0,1,1],
[0,0,0,1],
[0,0,0,0],
[0,0,0,0]])
B = np.array([[2,2,2,2],
[2,2,2,2],
[1,2,2,2],
[1,1,2,2]])
C = np.array([[3,4,4,3],
[3,4,4,4],
[2,3,4,4],
[2,2,2,4]])
# I assume the arrays are stacked like this
stacked_arrays = np.array([A,B,C])
# So the shape of stacked_arrays in this case is (3,4,4)
n = 1.5 # The example value you gave
I_biggest_smaller_number=np.ndarray((4,4),np.int)
I_smallest_bigger_number=np.ndarray((4,4),np.int)
for x in xrange(stacked_arrays.shape[1]):
for y in xrange(stacked_arrays.shape[2]):
# Take values we are interested in; i.e. all values for (x,y)
temp = stacked_arrays[:,x,y]
# Find index of maximum value below n
I_biggest_smaller_number[x,y]=np.where(temp==np.max(temp[np.where(temp<n)]))[0][-1]
# The [-1] takes the highest index if there are duplicates
# Find index of minimum value above n
I_smallest_bigger_number[x,y]=np.where(temp==np.min(temp[np.where(temp>n)]))[0][0]
# The [0] takes the lowest index if there are duplicates
print I_biggest_smaller_number
print
print I_smallest_bigger_number
关于python - 如何在 numpy 堆叠数组中找到阈值数的边界层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16649608/
如何将单元格(在 UICollectionView 中)堆叠在一起? Feedly 做得很好,我想知道是否可以以某种方式操纵 zIndex 属性以在 UICollectionView 的导航中获得类似
我正在尝试堆叠 div 以使用和图像显示顶部和底部淡入淡出。 外部 div(“旋转器”)有一个背景图像,该图像在顶部和底部具有渐变,在中间是透明的。在中间,我想显示内容或图像,并将外部 div 背景图
我有两个动画(在 CSS 中)div,它们围绕彼此旋转。我想在中间为文本添加另一个 div。但是,如果我将 div 放在这两个中的任何一个中,它就会与父 div 一起设置动画。如果我尝试定位它,它就位
图中显示了我想要的 View 。 最佳答案 为此你可以采取 FrameLayout . 例如 - 1: 更新: 例如 - 2:精湛的示例和技巧,可在此处找到:http://w
使用 tf.keras.layers.RNN 的 TensorFlow (1.13.1) 中多层/堆叠 RNN 的初始状态所需的结构是什么? API? 我尝试了以下方法: lstm_cell_size
我在制作条形图时遇到问题,其中 y 轴不是计数,而是变量的值。 我使用stat=identity,这对于一个变量来说很好。但是,如果我有两个变量并且想要创建堆叠/闪避条形图怎么办? 我这里有一些模拟数
我有一个栅格路径列表(rplist = 912 raster pathe for 912 rasters (19yeras)(12months)(4weeks))如下: [1] "C:/Users
我已经完成了一个项目,现在需要更改该项目,以便在变量位于数组中时显示一个 div,如果变量不在数组中则显示另一个 div。 通常我会这么做 祝你愉快,但是我得到的代码已经包含大量 html 和 ph
我在制作条形图时遇到问题,其中 y 轴不是计数,而是来自变量的值。 我使用 stat=identity,这对一个变量来说没问题。但是,如果我有两个变量并想创建一个堆叠/闪避条形图怎么办? 我这里有一些
我有一个栅格路径列表(rplist = 912 raster pathe for 912 rasters (19yeras)(12months)(4weeks))如下: [1] "C:/Users
我正在尝试将分数和耗时标签(scoreAndTimer)添加到我已经工作的贪吃蛇游戏代码中。问题是当我使用 ScoreAndTimer.setText(); 时它与之前的文本堆叠在一起。 我尝试 se
有没有办法将 GTK+ 小部件放入堆栈中? IE。在标签上放置一个按钮,使按钮覆盖标签的一部分。 最佳答案 您可以使用 GtkFixed 作为布局。这将允许您控制子小部件的确切位置,并且它们可以重叠。
我有以下代码: for (Map.Entry e : classes.entrySet()) { ClassReader reader = e.getValue(); ClassWri
我正在尝试根据类别的计数(或比例)更改我的(堆叠)条宽,作为示例,我使用了钻石数据集。我想根据每个类别(变量 cut )的频率看到不同的宽度。我首先创建了一个变量 cut_prop然后用下面的代码绘制
我目前正在 UWP 中开展一个项目,我有一个 CommandBar,我想将其从 Hidden 变为 Compact 如果鼠标移动。五秒钟后(如果鼠标不移动)CommandBar 应该再次返回到Hidd
我是 Swift 新手,并尝试在学习过程中编写一本交互式书籍。我使用 CATransform3DMakeRotation 创建了封面效果。 正如您所看到的,当我堆叠 View 时,问题就出现了。如果我
我已经阅读了 finish(); 命令和 FLAG_ACTIVITY_CLEAR_TOP 命令,还查看了 Common Ware 关于终止应用程序的回答,但我不确定如何放置这进入我的应用程序。 基本上
在我的引擎中,我从成对的顶点/像素着色器文件中加载 Cg 着色器。我希望能够堆叠着色器以组合它们(照明+ Material 等)。除了将着色器分解为单独的函数然后从中创建单个着色器脚本字符串之外,您是
我有一个 Activity 应该自行完成并关闭应用程序。现在,在某些情况下,根据用户导航到 Activity 的方式而变化, Activity 正在堆叠。当 Activity 堆积时,然后调用 fin
我有 10 个具有完全相同的列和数据类型的 csv 文件。什么是最快/最有效的堆叠方式? CSV1: col1 | col2 | col3 1 | 'a' | 0.1 2 | 'b'
我是一名优秀的程序员,十分优秀!