You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为DataFrame.sort_values的by参数赋值以降序排序特征重要性?

解决DataFrame排序时by参数的报错问题

你遇到的问题核心是:你创建的DataFrame只有一列,但没给这列命名,它的默认列名是0,而你之前错误地把行索引(Name_features里的特征名)当成了列名传给by参数,自然会报错。

有两种简单的解决方法:

方法1:直接使用默认列名排序

因为你创建DataFrame时没指定列名,pandas会自动给这列分配名称0,直接把这个值传给by参数即可:

FeatureImportances = pd.DataFrame(Tclf.feature_importances_, index=Name_features).sort_values(by=0, axis=0, ascending=False)

方法2:先给列命名再排序(更规范)

创建DataFrame时显式给列起一个有意义的名字(比如importance),后续排序就可以直接用这个列名:

# 先指定列名创建DataFrame
FeatureImportances = pd.DataFrame({'importance': Tclf.feature_importances_}, index=Name_features)
# 用自定义列名排序
FeatureImportances = FeatureImportances.sort_values(by='importance', axis=0, ascending=False)

要注意:sort_values的by参数是用来指定列的名称,而你之前想用的Name_features是DataFrame的行索引(index),不是列,所以才会出现找不到列的报错。

内容的提问来源于stack exchange,提问作者Ahmed Adel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:03:21