使用Python Pandas寻找DataFrame最优列组合的三类目标实现
列组合优化分析需求
现有DataFrame及统计表格
| 时间 | A | B | C | D | E | A~E组合 |
|---|---|---|---|---|---|---|
| 1 | 10 | 20 | 5 | 8 | -8 | 7.00 |
| 2 | 20 | -3 | 6 | -5 | 10 | 5.60 |
| 3 | -5 | 40 | 5 | 4 | 20 | 12.80 |
| 4 | 6 | -8 | 2 | 18 | 5 | 4.60 |
| 5 | 8 | -1 | -4 | -5 | 4 | 0.40 |
| 均值 | 7.80 | 9.60 | 2.80 | 4.00 | 6.20 | 6.08 |
| 标准差 | 8.01 | 17.96 | 3.66 | 8.65 | 9.09 | 4.02 |
| 均值/标准差比 | 0.97 | 0.53 | 0.77 | 0.46 | 0.68 | 1.51 |
根据上述表格,A~E全列组合的整体均值为6.08、标准差为4.02、均值/标准差比为1.51。
通过移除整列(而非单个行值),需寻找满足以下目标的最优列组合:
- 目标A:最大化整体均值;
- 目标B:最小化整体标准差;
- 目标C:最大化均值/标准差的比值。
期望输出为列组合形式,例如:A,B、A,B,C、A,B,C,D,E等。
内容的提问来源于stack exchange,提问作者snowballtrader
相关产品推荐
相关产品推荐

