如何使用NumPy获得在公差范围内最接近其他元素的动态值?

时间:2019-02-12 22:41:13

标签: python numpy

我有一个可用的数据集(values.dat)here。这些是具有空间坐标的速度向量。我试图用特定的z值裁剪特定的平面(xy),我可以用公差来做到这一点。现在,我想调整裁剪值,以使平面穿过最大的z坐标。 NumPy(强制性)中是否有任何参数可以帮助我解决这个问题?

以MWE为例,对于clip_value为1.53713E-1的情况,我可以找到在容差范围内接近clip值的元素。现在,我需要更改clip_value并获取平面,以使最大坐标(即clipped_data)穿过剪贴平面,或最小化元素与剪贴值之间的距离。

数据格式

x   y   z   u   v   w
2.715274E-02    3.059948E-02    9.771305E-02    -6.102054E+00   5.940804E+00    3.449792E+00
2.715274E-02    3.059948E-02    9.571305E-02    -6.429876E+00   6.223670E+00    4.139101E+00
2.715274E-02    3.059948E-02    9.371305E-02    -6.473130E+00   6.313031E+00    4.652472E+00

MWE

import numpy as np

clip_value = 1.537130E-01
_data_ = np.genfromtxt('./values.dat', skip_header=1, dtype = None, delimiter = '\t')
clipped_data = _data_[np.where(np.isclose(_data_[:, 2], clip_value, atol=2e-3))[0], 2]

0 个答案:

没有答案