我以如下所示的方式创建了一个数组;代表3对坐标。我的问题是我似乎无法找到数组中一对特定坐标的索引。
import numpy as np
R = np.random.uniform(size=(3,2))
R
Out[5]:
array([[ 0.57150157, 0.46611662],
[ 0.37897719, 0.77653461],
[ 0.73994281, 0.7816987 ]])
R.index([ 0.57150157, 0.46611662])
返回以下内容:
AttributeError: 'numpy.ndarray' object has no attribute 'index'
我尝试执行此操作的原因是为了可以在for循环中扩展带有坐标对索引的列表。
例如
v = []
for A in R:
v.append(R.index(A))
我只是不确定为什么索引功能不起作用,并且似乎无法找到解决方法。
我是编程新手,所以如果这看起来很废话,请原谅。
您可以通过将内部数组(坐标)转换为元组来获得所需的结果。
R = map(lambda x: (x), R);
然后,您可以使用R.index((number1,number2));查找元组的索引。
希望这可以帮助!
[编辑]为了解释上面的代码中发生的事情,map函数遍历(迭代)了数组R中的项目,并且每个项目都用lambda函数的返回结果替换了它。因此,这等效于以下方面:
def someFunction(x):
return (x)
for x in range(0, len(R)):
R[x] = someFunction(R[x])
因此,它接受每个项目并对其执行操作,然后将其放回列表中。我意识到它可能实际上并没有达到我的预期(返回(x)似乎没有将常规数组更改为元组),但是它确实对您有所帮助,因为我认为通过迭代遍历python可能会创建常规numpy数组中的数组。
要实际转换为元组,以下代码应该有效
R = map(tuple, R)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句