我的数据看起来像这样。
Trade -- Strategy -- -- Maturity
Swap -- OMASW28 -- 10 -- 4/5/2028
Bond -- OMASW28 -- 20 -- 4/5/2028
Bond -- OMASW28 -- 30 -- 4/5/2028
主要目标是找出所有可能的组合及其累积的总计,例如,我希望决赛桌看起来像这样。
Trade -- Strategy -- Totals -- Maturity -- Trade -- Strategy -- Totals -- Trade -- Strategy -- Totals
Swap -- OMASW28 -- 10 -- 4/5/2028 -- Bond -- OMASW28 -- 20 -- 4/5/2028 --
Bond -- OMASW28 -- 30 -- 4/5/2028
在每一行的末尾,有一个总计字段的字段,在这种情况下,该字段将为10 + 20 + 30 = 60。
我已经到这里了,但这似乎太冗长和复杂。
Trade_x Strategy Nominal_x Total_x Maturity_x Trade_y Nominal_y Total_y Maturity_y
Swap OMASW28 -20000000 10 4/5/2028 Swap -20000000 10 4/5/2028
Swap OMASW28 -20000000 10 4/5/2028 Bond 20000000 20 4/5/2028
Swap OMASW28 -20000000 10 4/5/2028 Bond 1000 30 4/5/2028
Bond OMASW28 20000000 20 4/5/2028 Swap -20000000 10 4/5/2028
Bond OMASW28 20000000 20 4/5/2028 Bond 20000000 20 4/5/2028
Bond OMASW28 20000000 20 4/5/2028 Bond 1000 30 4/5/2028
Bond OMASW28 1000 30 4/5/2028 Swap -20000000 10 4/5/2028
Bond OMASW28 1000 30 4/5/2028 Bond 20000000 20 4/5/2028
Bond OMASW28 1000 30 4/5/2028 Bond 1000 30 4/5/2028
基本上是以下代码,
a = pd.read_csv('files/input.csv')
b = pd.read_csv('files/input.csv')
merged = a.merge(b, on='Strategy')
这合并两次,对于这种特殊情况,我需要三次,如果我有10行,每行4列,我希望最终表的宽度为40列! 任何想法?