记录最小绝对偏差,但包括其符号
Recording the minimum absolute deviation, but including its sign
我有一个 pandas df,格式如下:
第一次偏差
秒偏差
最接近的偏差
偏差最小的列名
-0.5
南
-0.5
第一次偏差
-0.4
-0.8
-0.4
第一次偏差
最接近的偏差和最小偏差的列名是前两列的计算列。 table 列出了期望的结果,但是我还没有找到达到期望结果的解决方案。
偏差列显示两个函数和一个输入函数之间的偏差。我想找出哪个函数的偏差更接近于0,其次,我想记录偏差。
现在,如果我使用 df.abs().idxmin(axis = 1)
,我会得到 最小偏差的列名 的正确值,但使用 df.abs().min(axis = 1)
然后 [=27] =]最接近的偏差逻辑上returns 0.4而不是-0.4。然而,仅使用 df.min(axis=1)
将 return -0.8 用于 最接近的偏差 ,这也是不正确的。
如何获得包括正确标志在内的正确信息?
已经谢谢了!
用你的方法得到最接近的索引后,我们可以索引到dataframe中得到相应的值:
# your way for indexes
inds = df.abs().idxmin(axis=1)
# for values: either this (being deprecated..)
vals = df.lookup(df.index, inds)
# or this with numpy's "fancy" indexing
vals = df.to_numpy()[np.arange(len(df)), df.columns.get_indexer(inds)]
# then putting to frame
df["closest deviation"] = vals
df["column name of smallest deviation"] = inds
获得
first deviation second deviation closest deviation column name of smallest deviation
0 -0.5 NaN -0.5 first deviation
1 -0.4 -0.8 -0.4 first deviation
笔记:
DataFrame.lookup
已被弃用,因此其他方法是转到 numpy 域并在那里建立索引。由于 inds
是列名但 numpy 不知道它们,因此我们使用 get_indexer
.
获得它们的整数位置
我有一个 pandas df,格式如下:
第一次偏差 | 秒偏差 | 最接近的偏差 | 偏差最小的列名 |
---|---|---|---|
-0.5 | 南 | -0.5 | 第一次偏差 |
-0.4 | -0.8 | -0.4 | 第一次偏差 |
最接近的偏差和最小偏差的列名是前两列的计算列。 table 列出了期望的结果,但是我还没有找到达到期望结果的解决方案。
偏差列显示两个函数和一个输入函数之间的偏差。我想找出哪个函数的偏差更接近于0,其次,我想记录偏差。
现在,如果我使用 df.abs().idxmin(axis = 1)
,我会得到 最小偏差的列名 的正确值,但使用 df.abs().min(axis = 1)
然后 [=27] =]最接近的偏差逻辑上returns 0.4而不是-0.4。然而,仅使用 df.min(axis=1)
将 return -0.8 用于 最接近的偏差 ,这也是不正确的。
如何获得包括正确标志在内的正确信息?
已经谢谢了!
用你的方法得到最接近的索引后,我们可以索引到dataframe中得到相应的值:
# your way for indexes
inds = df.abs().idxmin(axis=1)
# for values: either this (being deprecated..)
vals = df.lookup(df.index, inds)
# or this with numpy's "fancy" indexing
vals = df.to_numpy()[np.arange(len(df)), df.columns.get_indexer(inds)]
# then putting to frame
df["closest deviation"] = vals
df["column name of smallest deviation"] = inds
获得
first deviation second deviation closest deviation column name of smallest deviation
0 -0.5 NaN -0.5 first deviation
1 -0.4 -0.8 -0.4 first deviation
笔记:
DataFrame.lookup
已被弃用,因此其他方法是转到 numpy 域并在那里建立索引。由于 inds
是列名但 numpy 不知道它们,因此我们使用 get_indexer
.