【发布时间】:2020-04-30 07:20:15
【问题描述】:
我有一个包含列(名称,a,b)的数据框,我想创建一个列名称“mean”,这将是列 a 和 b 的平均值,但如果任何两行的平均值相同,则总和值更多应该减少0.1。
data frame 1
Name Sum a b mean
0 hamm 34 2 2 2
1 jam 54 1 1 --> 1
2 tan 36 3 1 2
3 pan 39 4 4 4
正如我们现在看到的那样,第 0 行和第 2 行具有相同的平均值,所以现在谁的总和值更大应该减少 0.1
在这里,在这种情况下,它的第 2 行的值应该是 2- 0.1 = 1.9
最终结果
Name Sum a b mean
0 hamm 34 2 2 2
1 jam 54 1 1 1
2 tan 36 3 1 1.9
3 pan 39 4 4 4
【问题讨论】:
-
您这样做是为了解决什么问题?我想不出任何数学意义的原因。
-
这绝对是有道理的......这里的“a”和“b”列是我使用不同 ML 模型获得的功能的排名,我想取一个平均值,所以我会来要知道哪些功能排名总体不错。如果排名相同,那么我想应用这个指定的条件,所以应该出现总和更大的那个。 @KarlKnechtel
-
如果有 3 行均值相同会怎样?
-
那就是我想编写通用代码,以便它可以处理这样的情况。 @AlexandreB。
-
那么总和最大的将是(平均 -0.2 ),第二个将是(平均 -0.1 ),最后一个保持不变。 @AlexandreB。
标签: python python-3.x algorithm sorting