pandas 按乘列排序panda- 'values'未排序,请通过传入categories参数显式指定类别顺序

rbl8hiat  于 2022-11-20  发布在  Go
关注(0)|答案(2)|浏览(174)

我有一个 Dataframe 'rankedvariableslist',索引'Sleepvariables'是感兴趣的睡眠变量,两列分别是该模型和变量的R平方和P值。
我尝试按“P值”升序排序数据,然后按“R平方值”排序,但我总是得到错误:'' values '未排序,请传入类别参数'以明确指定类别顺序,但我不确定原因。
我会非常感激你的帮助!
第一个

t9aqgxwy

t9aqgxwy1#

当我运行你的代码时,它会返回下面的结果。

Sleepvariables  R-squared value P-value
0                        hours_of_sleep           0.026   0.413
1              frequency_of_alarm_usage           0.026   0.491
2                        sleepiness_bed           0.026   0.681
ep6jt1vc

ep6jt1vc2#

下面的代码起作用了-a我没有将模型摘要输出转换为 Dataframe ,而是将模型摘要输出转换为html文件)。

correspondantsleepvariable = []
correspondantpvalue = []
correspondantpvalue = [] 

results_as_html = resultmodeldistancevariation2sleepsummary.tables[0].as_html()
datehere = pd.read_html(results_as_html, header=None, index_col=None)[0]
rsquaredvalue = datehere.iloc[0,3]
rsquaredvalue.astype(float)
rsquaredvalues.append(rsquaredvalue)
results_as_html = resultmodeldistancevariation2sleepsummary.tables[1].as_html()
datehere = pd.read_html(results_as_html, header=0, index_col=0)[0]
pvalue = datehere.iloc[11,3]
pvalue.astype(float)
correspondantpvalue.append(pvalue)
correspondantsleepvariable.append(sleepvariable[i])
rankedvariableslist = 
pd.DataFrame({'Sleepvariables':correspondantsleepvariable, 'R-squared value':rsquaredvalues,'P-value':correspondantpvalue})
rankedvariableslist.sort_values(by=['P-value','R-squared value'],ascending = [True,False],inplace=True)
print(rankedvariableslist)

Sleepvariables  R-squared value  P-value
9    time_spent_awake_during_night_mins            0.034    0.005
4                         sleep_quality            0.030    0.041
20          sleepiness_resolution_index            0.028    0.129

非常感谢你的帮助-我非常感激!

相关问题