Python 数据帧矩阵的最小值:索引,列

Python 数据帧矩阵的最小值:索引,列,python,pandas,Python,Pandas,我想获得数据帧中所有行和列的最小值的索引和列名 我已经尝试了.idxmin,但这似乎只有在应用于列时才起作用。理想情况下,函数是一个不需要循环的单行程序。这似乎是一个很常见的问题,但我还没有找到解决办法 我的数据帧: col0, col1, col2 index0 1 2 3 index1 2 3 4 index2 5 6 7 我想得到矩阵中最小值的索引和列:1 因此: 试试这个: df.stack().idxmin() Out[

我想获得数据帧中所有行和列的最小值的索引和列名

我已经尝试了.idxmin,但这似乎只有在应用于列时才起作用。理想情况下,函数是一个不需要循环的单行程序。这似乎是一个很常见的问题,但我还没有找到解决办法

我的数据帧:

      col0, col1, col2
index0 1     2     3 
index1 2     3     4
index2 5     6     7
我想得到矩阵中最小值的索引和列:1

因此:

试试这个:

df.stack().idxmin()

Out[108]: ('index0', 'col0')
Numpy和
divmod

df.idxmin(1)
?您可以使用
df.min().min()
获取整个数据帧的最小值,可能其他人可以告诉我们如何获取该值的索引和列。我始终喜欢您的numpy解决方案:)+1您的解决方案非常灵活,但(-:
df.stack().idxmin()

Out[108]: ('index0', 'col0')
i, j = divmod(np.argmin(np.ravel(df)), df.shape[1])

(df.index[i], df.columns[j])

('index0', 'col0')