【发布时间】:2014-07-10 11:45:11
【问题描述】:
我需要从数组 x2 中的所有数字中减去数组 x1 中的一个数字,并检查结果的绝对值是否小于 0.01,如果是则将 x1 附加到新数组中。然后我需要对数组 x1 中的所有元素重复此操作。
这样做需要 250 亿次计算,因为两个数组都很长(50000 和 500000 个元素),所以我希望尽量减少所需的处理量。
谢谢!
b = np.zeros(len(a), 1) #a is a list of numbers 48555 elements long
b[:,0] = a[:,0]
e = np.zeros(len(d), 1) #d is a list of numbers 531261 elements long
e[:,0] = d[:,0]
h = np.zeros(len(len(a)*len(d),1) #h needs to be an array of length a*d
for i in e, j in b,
if abs(i-j)<=0.01,
h.append(i)
print h
我之前没有太多使用代码,所以我仍然在使用 Python 时犯了相当基本的错误。
【问题讨论】:
-
所以不是 a1 - b1, a2 - b2 而是 a1 - b1, a1 - b2, a2 - b1, a2 - b2?计算的数量表明第二个,但也许你的意思是第一个?
-
这听起来绝对像是你可以用一些代码来做的事情。祝你好运!你有什么问题?
-
是你的任务吗?给我们你试过的
-
你需要做这些操作还是只是对“新数组”感兴趣?
-
@RedX 这是第二个。它是检查两组坐标是否相同,每组坐标来自不同的仪器,如果坐标之间的差异小于仪器的误差,那么它们可能是相同的。