<p>我们尝试执行<code>cumcount</code>创建唯一键,然后执行<code>reindex</code></p>
<pre><code>inp['new'] = inp.groupby(['Key','Indicator']).cumcount()
IndiRelat[1] = IndiRelat.groupby(0).cumcount()
IndiRelat.columns = ['Indicator','new']
out = inp.set_index(['Key','Indicator','new']).unstack(level=0).reindex(pd.MultiIndex.from_frame(IndiRelat),fill_value=0).stack().reset_index().sort_values('Key')
out
Out[93]:
Indicator new Key Descr C1 C2 C3 C4 C5 C6
0 SD 0 2 sope 0 0 0 0 0 0.0
18 QU 0 2 0 0 0 0 0 0 0.0
16 WI 3 2 0 0 0 0 0 0 0.0
14 WI 2 2 0 0 0 0 0 0 0.0
12 WI 1 2 wix- 0 16 6 13 0 0.3
20 QU 1 2 0 0 0 0 0 0 0.0
8 RR 0 2 0 0 0 0 0 0 0.0
10 WI 0 2 wix+ -13 -13 2 1 -62 -0.5
6 SS 0 2 0 0 0 0 0 0 0.0
4 RL 0 2 cvt -3 5 17 -2 -9 -0.2
2 LL 0 2 cv 0 0 0 0 0 0.0
9 RR 0 4 0 0 0 0 0 0 0.0
5 RL 0 4 cvt 0 0 0 0 0 -1.0
11 WI 0 4 wix+ -18 -2 19 19 3 -64.0
13 WI 1 4 wix- 0 -30 -2 -2 32 0.0
3 LL 0 4 cv 0 0 0 0 0 0.0
15 WI 2 4 0 0 0 0 0 0 0.0
17 WI 3 4 0 0 0 0 0 0 0.0
1 SD 0 4 sope -42 0 29 0 0 -13.0
19 QU 0 4 0 0 0 0 0 0 0.0
7 SS 0 4 0 0 0 0 0 0 0.0
21 QU 1 4 0 0 0 0 0 0 0.0
</code></pre>