我需要完成以下任務。
我有 9 列以及原始標簽。這 9 列中的每一列都包含一個概率值。每個 3 值是特定模型的預測。我總共有 3 個分類器模型,并且有 3 個類。
現在我必須應用最大規則。
對于每個班級,我必須選擇最大概率,這會給我三個最大值。現在我終于要回到這3人中最高的班級了。
我的代碼和示例

import numpy as np
df['Covid_max'] = np.where(df.columns == 'Covid',df.values,0).max(axis=1)
df['Normal_max'] = np.where(df.columns == 'Normal',df.values,0).max(axis=1)
df['Pneumonia_max'] = np.where(df.columns == 'Pneumonia',df.values,0).max(axis=1)

df['pred'] = df[['Covid_max','Normal_max','Pneumonia_max']].idxmax(axis=1)
new_label = {"pred": {"Covid_max": 0, "Normal_max": 1,"Pneumonia_max": 2,}}
df.replace(new_label , inplace = True)

直到我已經做到了。現在我被卡住了。我只需要類和pred列之間不匹配的記錄。(這里它應該只列印第二行)怎么做?
另外,如果有人提供另一種解決方案,我很樂意掌握這一點。
TIA
uj5u.com熱心網友回復:
嘗試這個。
df_mismatch = df.loc[~(df['Class'] == df['pred'])]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/524422.html
標籤:Python熊猫数据库
上一篇:為什么我的正則運算式回傳無?
