擅长:python、mysql、java
<p><strong>试试看:</strong></p>
<pre><code>sup['mode'] = 'sup'
stk['mode'] = 'stk'
# this function is just to add the misisng rows with NAN values. If you don't want rows with NAN values skip the func.
def add_row(x):
if (len(x)<2):
x = x.append([{'code': x['code'].iloc[0], 'mode': x['mode'].iloc[0]}])
return x
return x
merged_df = stk.merge(sup, how='outer').groupby('code').apply(add_row).reset_index(drop=True)
</code></pre>
<p><strong>输出</strong></p>
<pre><code> code mode 01-05-2021 02-05-2021 03-05-2021 06-05-2021
0 A121 stk 4.0 1.0 12.0 NaN
1 A121 sup 2.0 NaN 5.0 1.0
2 H812 stk 2.0 3.0 13.0 NaN
3 H812 sup 2.0 NaN 5.0 4.0
4 S222 sup 2.0 NaN 5.0 7.0
5 S222 sup NaN NaN NaN NaN
6 Z198 stk 6.0 2.0 12.0 NaN
7 Z198 stk NaN NaN NaN NaN
</code></pre>