在 Python 中使用 pandas 获取单个系列的类,而不是每个类的一个系列

问题描述 投票:0回答:1

我有一个 DataFrame,其中有 3 列 0 和 1 对应于 3 个不同的类。我想根据条目的类别获得一系列的零、一和二(0 表示第一类,1 表示第二类,2 表示第三类):

>>> results.head()
    HOME_WINS  DRAW  AWAY_WINS
ID                            
0           0     0          1
1           0     1          0
2           0     0          1
3           1     0          0
4           0     1          0

我想要什么:

>>> results.head()
    SCORE
ID                            
0       2
1       1
2       2
3       0
4       1
python pandas numpy
1个回答
0
投票

乘以字典,

sum
并转换
to_frame

d = {'HOME_WINS': 0, 'DRAW': 1, 'AWAY_WINS': 2}

out = df.mul(d).sum(axis=1).to_frame(name='SCORE')

输出:

    SCORE
ID       
0       2
1       1
2       2
3       0
4       1
© www.soinside.com 2019 - 2024. All rights reserved.