我有以下数据集。根据以下条件,我需要在新列Col A * B * C * D * E
中添加Score
:
其中ifID
&VID
相同,但QID
是唯一的或不同的,请在计算新列Score
时从Col E
中选择较高的值
ID VID QID A B C D E
121 212 123 1 2 1 1 1
121 212 435 1 2 1 1 5
223 244 567 2 3 5 1 2
313 232 709 5 1 2 1 3
313 232 887 5 1 2 1 2
454 969 457 1 3 2 2 4
454 969 457 1 2 1 2 4
预期结果如下:
ID VID QID A B C D E Score
121 212 123 1 2 1 1 1 10 (because based on ID and VID I want to choose higher value in column E while calculating, and apply the same to those rows)
121 212 435 1 2 1 1 5 10
223 244 567 2 3 5 1 2 60
313 232 709 5 1 2 1 3 30
313 232 887 5 1 2 1 2 30
454 969 457 1 3 2 2 4 48
454 969 457 1 2 1 2 4 16
我尝试了.sort
以使Col E
采用降序或升序格式,然后进行计算,但无法编写计算背后的逻辑。我只是一个初学者,几天来一直在努力解决这个问题
将^{} 用于OVERVITE列} 乘以所有列,并选择忽略前3个^{} :
E
按每个组的最大值,然后按^{详细信息:
我可能把解决方案复杂化了一点,但在我看来,快速解决方案就是这样的:
第1部分:计算QID的唯一计数和E的最大值
第2部分:与原始数据帧连接
第3部分:根据条件创建分数列
相关问题 更多 >
编程相关推荐