从Pandas pivot选项卡创建加权分数列

2024-10-04 03:27:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在pandas中有以下透视表:

Rating                      1   2   3   4   5
MovieTitle                                   
1-900 (1994)                2   0   1   2   0
101 Dalmatians (1996)      15  17  46  25   6
12 Angry Men (1957)         0   1  15  49  60
187 (1997)                  5   8  13  11   4

我需要通过计算加权得分来创建一个新列。公式将得出电影“101斑点狗(1996)”的分数如下:

^{pr2}$

我能知道怎么做吗? 谢谢


Tags: pandas电影分数公式ratingmenpr2angry
1条回答
网友
1楼 · 发布于 2024-10-04 03:27:33

您只需执行与公式中指定的完全相同的操作:)

>>> (df[1] * 1) + (df[2] * 2) + (df[3] * 3) + (df[4] * 4) + (df[5] * 5)
MovieTitle
1-900 (1994)              13
101 Dalmatians (1996)    317
12 Angry Men (1957)      543
187 (1997)               124
dtype: int64

或者,由于电影标题是数据帧的索引,而您只有分级列,您可以执行以下操作:

^{pr2}$

如果需要,可以将其分配给数据帧:

>>> df['score'] = (df * weights).sum(axis=1)

相关问题 更多 >