【发布时间】:2019-08-19 23:37:01
【问题描述】:
C
Ode Proceeds Pos Amount Positions Target Weighting Addition
676 30160 FPE 51741.25 5 0.1 0.187636
676 30160 HFA 57299.63616 5 0.2 0.2077939
676 30160 PFL 60437.40563 5 0.2 0.2191728
676 30160 PSO 53053.5741 5 0.15 0.1923958
676 30160 RNS 53220.36636 5 0.2 0.1930006
953 34960 PFL 8506.1939 1 0.2 1
637 14750 PFL 8341.21701 3 0.2 0.3025169
637 14750 PSO 12669.65078 3 0.15 0.4594993
637 14750 RNS 6561.85824 3 0.2 0.2379836
673 12610 FPE 31220.475 5 0.1 0.1750410
673 12610 HFA 34020.2928 5 0.2 0.1907384
673 12610 PFL 37754.00236 5 0.2 0.2116719
673 12610 PSO 31492.56779 5 0.15 0.1765665
673 12610 RNS 43873.58472 5 0.2 0.2459820
318 93790 PFL 59859.3918 2 0.2 0.2852660
318 93790 PSO 149977.7109 2 0.15 0.7147339
222 75250 FPE 21000 6 0.1 0.1 7525
222 75250 HFA 42000 6 0.2 0.2 15050
222 75250 PFL 42000 6 0.2 0.2 15050
222 75250 PSO 31500 6 0.15 0.15 11287.5
222 75250 RNS 42000 6 0.2 0.2 15050
222 75250 CRD 31500 6 0.15 0.15 11287.5
最后 6 行包含一个完整的分组。对于所有没有位置 row == 6 的分组,除了 ["Ode"] 下的分组总值之外,我还想取 ["Proceeds"]column 中的金额,并创建一个“delta”列显示为了使["Weighting"] 列尽可能接近目标而应进行的更改。
【问题讨论】:
-
我们应该在最后 6 列中放什么? NaN 可以吗?您能否显示预期的结果,至少对于一些示例行?
-
@pythonic833 我添加了最后一列以及这些行的预期结果。我希望“Additions”行获取每个“Pos”的值以及“Proceeds”,然后将“Target”应用于该值以得出值。我还想看看是否有人知道如何将行添加到少于 6 行的每个组中。有什么想法吗?
-
@JoshPilson 你怎么知道其他职位的
target?你能举个例子,比如位置 3 吗? -
所以我的信息留下了一些不足之处.. 对此感到抱歉...如果您查看 ["Pos"] 中的不同条目,每个职位的目标都在 [ “目标”] 所以对于“FPE”,目标是 0.1,对于 HFA,目标是 0.2,依此类推。 ["Positions"] 是 ["Pos"] 的计数,我想从 ["Positions"]
标签: python-3.x pandas optimization