我正在学习使用python和pandas,我想知道如何根据两列中的单元格值组合来自不同行的内容。 在本例中,我希望合并同一部门和同一id内的分数
这是DF的简化版本:
id department name scoreA
abc sales eric 2
abc sales jack 3
abc marketing sofia 6
abc marketing anna 7
zzz sales jack 1
zzz sales eric 8
zzz marketing sofia 11
zzz marketing anna 1
这就是我想要的DF:
id department totalScoreA
abc sales 5
abc marketing 13
zzz sales 9
zzz marketing 12
我还有一个后续问题。如果有两列用于计数,我想要这些计数的平均值,但是在平均这些值之前,我想将scoreB乘以2。像这样:
id department name scoreA scoreB
abc sales eric 2 10
abc sales jack 3 6
abc marketing sofia 6 8
abc marketing anna 7 10
zzz sales eric 8 10
zzz sales jack 2 10
zzz marketing sofia 11 4
zzz marketing anna 1 10
这就是我想要的DF:
id department totalScoreA AverageScore((A+B*2)/2)
abc sales 5 18.5
abc marketing 13 24.5
zzz sales 10 25
zzz marketing 12 20
嘿,非常感谢你的回答@jezrael!第一个工作,因为它应该!你知道吗
不过,我对第二个问题的定义可能有点太模糊了。我想要的是得到每个部门每个小组所有scoreB*2
的ScoreA
的“组合”平均值。我举一个有价值观的例子来说明这一点:
由此:
id department name scoreA scoreB
zzz marketing sofia 5 4
zzz marketing anna 2
对此:
meanAB
是(5+2+4*2)/3
(数字3来自值的计数)。那么,我怎么计算这个呢,因为我无法做到,即使有你以前的解决方案的帮助:/
id department meanA meanB meanAB
zzz marketing 3.5 4 5
首先是聚合} :
sum
与^{第二个是第一个多列} 与聚合函数字典一起使用,这里是
scoreB
,添加了scoreA
,并将^{sum
和mean
:编辑:
通过^{} 函数为带有explude NaNs的get number of values创建新列
Count
,然后聚合sum
并除以mean
:细节:
相关问题 更多 >
编程相关推荐