【发布时间】:2018-08-15 22:43:10
【问题描述】:
所以制作一个真正解释我想要的标题比我想象的要难,所以我来解释一下。
我有一个用零填充的数组,每次满足条件时都会添加值,所以在 1 个时间步迭代之后,我得到了这样的结果(减去标题):
current_array =
bubble_size y_coord
14040 42
3943 71
6345 11
0 0
0 0
....
在这个时间步完成后,这个 current_array 被设置为 previous_array 并用零擦除,因为每次都没有保证的条目数。
现在真正的问题是我希望能够检查 previous_array 第一列中的所有行,并查看当前气泡大小是否在任何一侧的 5% 以内,如果是,我想拿走当前的 y 位置与previous_array的第二列中匹配的气泡大小数字相关联的值。
目前我有类似的东西;
if bubble_size in current_array[:, 0]:
do_whatever
但我不知道如何在不使用循环的情况下提取关联的 y_coord,我可以这样做(数组大约有 100 行,至少有 1000 个时间步长,所以我想让它像可能)但想避免
我已经包含了我对 for 循环的想法(注意 current 和 previous_array 实际上是 current 和 previous_frame)
for y in range (0, array_size):
if bubble_size >> previous_frame[y,0] *.95 &&<< previous_frame[y, 0] *1.05:
distance_travelled = current_y_coord - previous_frame[y,0]
y = y + 1
非常感谢任何帮助:)
【问题讨论】:
-
您能否提供一个示例说明您希望输出的样子?
-
不使用 Numba 或 Cython 吗?
标签: python arrays performance numpy