Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在邻接矩阵中寻找特定场的元素_Python_Pandas_Dataframe - Fatal编程技术网

Python 在邻接矩阵中寻找特定场的元素

Python 在邻接矩阵中寻找特定场的元素,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个pandas邻接数据框,我需要能够通过它的物理编号位置,而不是索引或列位置,也不是它的坐标来识别数据框上的任何元素 数据帧是一个10000 x 10000的邻接矩阵: adj.shape (10103, 10103) 而不是像这样做 adj.iloc[coord1], [coord2]] (这很好),我需要能够找到数据帧上的值,通过它的物理数从0到100000000(0是第一个字段,100000000是最后一个字段) 我尝试过(我认为是)一种笨拙的方法,即堆叠数据帧,转换为列表,然

我有一个pandas邻接数据框,我需要能够通过它的物理编号位置,而不是索引或列位置,也不是它的坐标来识别数据框上的任何元素

数据帧是一个10000 x 10000的邻接矩阵:

adj.shape

(10103, 10103)
而不是像这样做

adj.iloc[coord1], [coord2]]
(这很好),我需要能够找到数据帧上的值,通过它的物理数从0到100000000(0是第一个字段,100000000是最后一个字段)

我尝试过(我认为是)一种笨拙的方法,即堆叠数据帧,转换为列表,然后在我感兴趣的索引处找到合适的值:

adj().stack().tolist()[0]
(或任何其他数字,告诉我该位置的值是多少。这也非常有效,但我希望能够保持邻接矩阵不变。任何帮助都将不胜感激


谢谢!

使用整数除法和模:

np.random.seed(1)

adj = pd.DataFrame(np.random.rand(20,20))
# print (adj)

N = 99
a = adj.stack().tolist()[N]
print (a)
0.6171449136207239

b = adj.iloc[N // adj.shape[0], N % adj.shape[1]]
print (b)
0.6171449136207239