如何根据多个列值对pandas数据框架进行分组、计数和解栈?



我有以下pandas数据框架,我在其中存储了多个模型和多个公司的赢/输结果

<表类> 公司 Model_1 Winloss Model_2 Winloss2 tbody><<tr>Company1资讯WGPRLCompany1资讯L请WCompany1资讯LKRRWCompany1资讯LXGBWCompany1GPRLSGDWCompany2GPRL请WCompany2KRRLXGBW

先用wide_to_long,再用crosstab:

df = pd.wide_to_long(df.reset_index().rename(columns={'Winloss':'Winloss1'}), 
stubnames=['Model_','Winloss'], 
i=['index','company'], 
j='tmp').reset_index()
df = pd.crosstab(df['company'], [df['Model_'], df['Winloss']])
print (df)
Model_   GPR KNN    KRR    PLS SGD XGB
Winloss    L   L  W   L  W   W   W   W
company                               
Company1   2   3  1   0  1   1   1   1
Company2   1   0  0   1  0   1   0   1

最新更新