假设有一个 Dataframe ,统计如下表:
| 时间|A类|乙|C级|D级|E级|组合A~E|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 1个|十个|二十个|五个|八个|-8个|七点整|
| 第二章|二十个|-3个|六个|-5个|十个|五点六零|
| 三个|-5个|四十|五个|四个|二十个|十二点八零|
| 四个|六个|-8个|第二章|十八|五个|四点六零|
| 五个|八个|-1人|-4个|-5个|四个|0.40|
| 平均值|七点八零|九时六十分|二点八零|四点整|六点二十分|六点零八分|
| 标准差|八点零一分|十七点九六分|三点六六|八点六五|九时零九分|四点零二分|
| 比值(平均值/标准差)|0.97|0.53|0.77|0.46|0.68|一点五一|
由上表可知,综合所有A~E,总体平均值为6.08,标准差为4.02,比值为1.51。
通过删除A~E列中的一些列,也许我可以最大化平均值,最小化标准差,或者两者都做(增加比率)。
(* 表示我将删除列中的整个值,而不是每行中的单个值)
有没有什么方法可以找出从A到E列的"最佳组合",这些列给出:
A)最大平均值
B)最小标准偏差
C)A/B的最大比值?
期望的答案可能类似于:A、B、C、A、B、E、A、B、C、D或甚至A、B、C、D、E
1条答案
按热度按时间tcomlyy61#
为了找到每一行的最佳匹配子集,你可以创建所有可能的子集,然后找到最大值/最小值。例如,下面的代码计算第一个条件的最佳列数:
对于前两行,结果如下:
根据评论,这可能会有所帮助:
输出:
你可以根据你的目标选择最好的。