Python 在距离数据框中查找特定值的位置

Python 在距离数据框中查找特定值的位置,python,python-2.7,pandas,Python,Python 2.7,Pandas,我一直在浏览我的问题的答案,但似乎找不到合适的解决方案。我有一个具有距离的数据帧(NxN单元格),我发现整个数据帧的最小距离为: 最小距离=距离.values.min() 现在我需要找到最小距离的位置(数据帧的哪一行和哪一列)。有什么想法吗 编辑 最小码 生成示例: N = 4 df = pd.DataFrame(np.random.rand(N,N)) 查找展平数据帧的最小索引: idx_min = df.values.flatten().argmin() 返回行数和列数的简单算法: ro

我一直在浏览我的问题的答案,但似乎找不到合适的解决方案。我有一个具有距离的数据帧(NxN单元格),我发现整个数据帧的最小距离为: 最小距离=距离.values.min() 现在我需要找到最小距离的位置(数据帧的哪一行和哪一列)。有什么想法吗

编辑

最小码

生成示例:

N = 4
df = pd.DataFrame(np.random.rand(N,N))
查找展平数据帧的最小索引:

idx_min = df.values.flatten().argmin()
返回行数和列数的简单算法:

row = ((idx_min + 1) // N) - 1
column = idx_min - (row * N)
生成示例:

N = 4
df = pd.DataFrame(np.random.rand(N,N))
查找展平数据帧的最小索引:

idx_min = df.values.flatten().argmin()
返回行数和列数的简单算法:

row = ((idx_min + 1) // N) - 1
column = idx_min - (row * N)

我取决于你想要什么形式的结果。但是一种非常直接的方法是使用
stack
idxmin

像这样:

安装程序 我们应该期望min为
1
,位置为row
b
columns
b

解决方案
现在你可以通过任何其他方式来操纵它。这正好传递了一个元组。

我取决于您希望结果的形式。但是一种非常直接的方法是使用
stack
idxmin

像这样:

安装程序 我们应该期望min为
1
,位置为row
b
columns
b

解决方案
现在你可以通过任何其他方式来操纵它。这正好传递了一个元组。

您可以添加吗?您可以展平数据帧,使用
idx\u min
,然后重建原始索引(使用整数除法)。您可以添加吗?您可以展平数据帧,使用
idx\u min
,然后重建原始索引(使用整数除法)。谢谢您。工作起来很有魅力!谢谢你,皮尔斯。工作起来很有魅力!