【发布时间】:2021-08-28 04:29:37
【问题描述】:
我有一个如下形式的 pandas df:
| first deviation | second deviation | closest deviation | column name of smallest deviation |
|---|---|---|---|
| -0.5 | NaN | -0.5 | first deviation |
| -0.4 | -0.8 | -0.4 | first deviation |
最接近的偏差和最小偏差的列名是前两列的计算列。该表列出了期望的结果,但我还没有找到达到期望结果的解决方案。
偏差列显示两个函数和一个输入函数之间的偏差。我想找出哪个函数的偏差更接近于0,其次我想记录偏差。
现在,如果我使用df.abs().idxmin(axis = 1),我会得到最小偏差的列名 的正确值,但使用df.abs().min(axis = 1) 那么对于最接近的偏差,逻辑上会返回 0.4而不是-0.4。然而,仅使用 df.min(axis=1) 会为 最接近的偏差返回 -0.8,这也是不正确的。
我如何获得正确的信息,包括正确的标志?
已经谢谢了!
【问题讨论】:
-
嗨@Paul1911,我猜在想要的结果中,右下角的值也应该是first deviaton,对吧?
-
嗨穆斯塔法,是的,正确的。谢谢,我已经调整了:)
-
谢谢。据我所知,我试图写一个答案,希望它有所帮助。
-
确实有帮助,非常感谢!它现在正在工作!
标签: python pandas dataframe indexing calculated-columns