存储循环中的数值.ndarray [英] Storing numpy.ndarrays from a loop
本文介绍了存储循环中的数值.ndarray的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试为循环的每次迭代存储定义为x_c
、y_c
和z_c
的numpy.ndarray:
for z_value in np.arange(0, 5, 1):
ms.set_current_mesh(0)
planeoffset : float = z_value
ms.compute_planar_section(planeaxis = 'Z Axis', planeoffset = planeoffset)
m = ms.current_mesh()
matrix_name = m.vertex_matrix()
x_c = matrix_name[:,0]
y_c = matrix_name[:,1]
z_c = matrix_name[:,2]
我希望能够回忆起任何z值的三个数组,最好参考z值,即x_c @ z_value = 2
或类似的。
谢谢您的帮助!
P.S对编码非常陌生,所以请对我宽容些。
推荐答案
必须将每个数组存储在外部变量中,例如字典
x_c={}
y_c={}
z_c={}
for z_value in np.arange(0, 5, 1):
ms.set_current_mesh(0)
planeoffset = float(z_value)
ms.compute_planar_section(planeaxis = 'Z Axis', planeoffset = planeoffset)
m = ms.current_mesh()
m.compact()
print(m.vertex_number(), "vertices in Planar Section Z =", planeoffset)
matrix_name = m.vertex_matrix()
x_c[planeoffset] = matrix_name[:,0]
y_c[planeoffset] = matrix_name[:,1]
z_c[planeoffset] = matrix_name[:,2]
请确保在访问VERTEX_MATRIX之前调用m.compact(),否则将收到MissingCompactnessException
错误。请注意,在x_c[2]或x_c[2.0]中存储任何内容是不同的,因此请选择您的索引是否必须是整数o浮点数,并保持相同的类型(在本例中,它们是浮点数)。
稍后,您可以回调如下值:
print("X Values with z=2.0")
print(x_c[2.0])
这篇关于存储循环中的数值.ndarray的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文