为了账号安全,请及时绑定邮箱和手机立即绑定

获取整个 Pandas DataFrame 中具有最小值的行和列

获取整个 Pandas DataFrame 中具有最小值的行和列

米琪卡哇伊 2021-08-17 15:47:41
问题很简单,所以必须解决,但我找不到它。我想找到 Pandas DataFrame 中的哪一行和哪一列具有最小值以及它是多少。我尝试了以下代码(除了各种组合):df = pd.DataFrame(data=[[4,5,6],[2,1,3],[7,0,5],[2,5,3]],                  index = ['R1','R2','R3','R4'],                  columns=['C1','C2','C3'])print(df)print(df.loc[df.idxmin(axis=0), df.idxmin(axis=1)])正在搜索的数据框 (df) 是:    C1  C2  C3R1   4   5   6R2   2   1   3R3   7   0   5R4   2   5   3loc命令的输出:    C1  C2  C2  C1R2   2   1   1   2R3   7   0   0   7R2   2   1   1   2我需要的是:    C2R3   0我怎样才能得到这个简单的结果?
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

我会这样得到索引:

np.unravel_index(np.argmin(df.values), df.shape)

这比df.stack().idxmin().

它为您提供了一个元组,例如(2, 1)在您的示例中。将其传递给 df.iloc[] 以获取值。


查看完整回答
反对 回复 2021-08-17
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

或min+ min+ dropna+ T+ dropna+ T:


>>> df[df==df.min(axis=1).min()].dropna(how='all').T.dropna().T

     C2

R3  0.0

>>> 


查看完整回答
反对 回复 2021-08-17
  • 3 回答
  • 0 关注
  • 983 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信