Python 记录最小绝对偏差,但包括其符号
我有一份以下形式的文件: 第一偏差 二次偏差 最近偏差 最小偏差的列名 -0.5 楠 -0.5 第一偏差 -0.4 -0.8 -0.4 第一偏差Python 记录最小绝对偏差,但包括其符号,python,pandas,dataframe,indexing,calculated-columns,Python,Pandas,Dataframe,Indexing,Calculated Columns,我有一份以下形式的文件: 第一偏差 二次偏差 最近偏差 最小偏差的列名 -0.5 楠 -0.5 第一偏差 -0.4 -0.8 -0.4 第一偏差 按照您的方式获得最接近的索引后,我们可以索引到数据帧中以获得相应的值: # your way for indexes inds = df.abs().idxmin(axis=1) # for values: either this (being deprecated..) vals = df.lookup(df.index, inds) # or
按照您的方式获得最接近的索引后,我们可以索引到数据帧中以获得相应的值:
# 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
注:
正在被弃用,所以另一种方法是转到numpy域并在那里建立索引。由于
inds
是列名,但numpy不知道它们,我们使用get\u indexer
hi@Paul1911获取它们的整数位置,我想在期望的结果中,右下角的值也应该读取第一个设备,对吗?hi Mustafa,是的,正确。谢谢,我已经调整好了:)谢谢。据我所知,我试着写了一个答案,希望能有帮助。它确实有帮助,非常感谢!现在开始工作了!