【发布时间】:2021-04-27 06:30:28
【问题描述】:
我有两个列表,X 和 Y,长度相等。我有第三个列表,locations。 X 和Y 中的值与locations 列表的索引相关。我还有一个方程式,如下所示。
def equat(x):
return np.power(x, -0.0005165876209672664) - 0.9960910063226581
下面是我的问题的主循环。
for i, j in zip(X[:10], Y[:10]):
A = np.random.choice(X, replace = False) # randomly select neuron from neuron A
L_a = locations.iloc[[A],] # acquire neuron A's location
L_b = locations.iloc[[j],] # acquire neuron B's location (unchanged from list)
D_ = pd.DataFrame(scipy.spatial.distance.cdist(L_a, L_b, 'euclidean')) # compute its distance
首先,我有列表 X 和 Y。 A 从列表X 中随机选择。 L_a 然后使用值A 来获取该值的位置。 L_b 使用Y 中的第一个值,因为如前所述,列表Y 必须始终保持不变。然后D_ 将计算L_a 和L_b 之间的距离。
现在,我有点卡住了。我想做的是,首先确保两个点不相同,如果是,则返回A 并从列表中随机选择另一个值。其次,我想根据使用equat 生成的概率添加被选择添加到列表中的A 的值,比如C。如果没有发生这种匹配,那么我希望循环返回到 A 并随机选择另一个值,直到该值被选择并添加到 C。
任何有关如何解决此问题的建议都会受到欢迎!
【问题讨论】:
标签: python numpy random probability