3
df.idxmax()返回的max沿一个轴(行或列),但我想ARG_MAX(DF)在整个数据框,它返回一个元组(行列)。获取行和列的名称(argmax)在大熊猫数据帧最大入口
使用情况下,我已经记特征选择,其中我有一个相关矩阵,并希望“递归”与最高的相关删除功能。我预处理相关矩阵以考虑其绝对值并将对角线元素设置为-1。然后,我建议使用rec_drop,其中递归下降下列内容之一的功能,对具有最高的相关性(受截止:max_allowed_correlation),并返回的功能最终名单。例如: -
S = S.abs()
np.fill_diagonal(S.values,-1) # so that max can't be on the diagonal now
S = rec_drop(S,max_allowed_correlation=0.95)
def rec_drop(S, max_allowed_correlation=0.99):
max_corr = S.max().max()
if max_corr<max_allowed_correlation: # base case for recursion
return S.columns.tolist()
row,col = arg_max(S) # row and col are distinct features - max can't be on the diagonal
S = S.drop(row).drop(row,axis=1) # removing one of the features from S
return rec_drop(S, max_allowed_correlation)