<p>您可以尝试:</p>
<pre><code>df1 = df.set_index('MONTH').reindex(range(1,13)).reset_index()
cols = ['MONTH', 'SKU_ID', 'SUPPLIER', 'YEAR', 'UOM']
df1[cols] = df1[cols].ffill().bfill(downcast = 'infer')
</code></pre>
<h4>输出:</h4>
<pre><code> MONTH SKU_ID SUPPLIER YEAR UOM VOLUME COST
0 1 SKU_123a Supplier_8 2020 Case NaN NaN
1 2 SKU_123a Supplier_8 2020 Case 12.0 $101.36
2 3 SKU_123a Supplier_8 2020 Case 72.0 $101.36
3 4 SKU_123a Supplier_8 2020 Case NaN NaN
4 5 SKU_123a Supplier_8 2020 Case NaN NaN
5 6 SKU_123a Supplier_8 2020 Case 36.0 $101.36
6 7 SKU_123a Supplier_8 2020 Case 36.0 $101.36
7 8 SKU_123a Supplier_8 2020 Case NaN NaN
8 9 SKU_123a Supplier_8 2020 Case 36.0 $101.36
9 10 SKU_123a Supplier_8 2020 Case 72.0 $101.36
10 11 SKU_123a Supplier_8 2020 Case NaN NaN
11 12 SKU_123a Supplier_8 2020 Case NaN NaN
</code></pre>
<h4>更新答案:</h4>
<pre><code>
multi_index = pd.MultiIndex.from_product([df['SUPPLIER'].unique(), range(1,13)], names=['SUPPLIER', 'MONTH'])
df1 = df.set_index(['SUPPLIER','MONTH']).reindex(multi_index).reset_index()
cols = ['MONTH', 'SKU_ID', 'SUPPLIER', 'YEAR', 'UOM']
df1[cols] = df1[cols].ffill().bfill(downcast = 'infer')
</code></pre>
<h4>输出:</h4>
<pre><code> SUPPLIER MONTH SKU_ID YEAR UOM VOLUME COST
0 Supplier_8 1 SKU_123a 2020 Case NaN NaN
1 Supplier_8 2 SKU_123a 2020 Case 12.0 $101.36
2 Supplier_8 3 SKU_123a 2020 Case 72.0 $101.36
3 Supplier_8 4 SKU_123a 2020 Case NaN NaN
4 Supplier_8 5 SKU_123a 2020 Case NaN NaN
5 Supplier_8 6 SKU_123a 2020 Case 36.0 $101.36
6 Supplier_8 7 SKU_123a 2020 Case 36.0 $101.36
7 Supplier_8 8 SKU_123a 2020 Case NaN NaN
8 Supplier_8 9 SKU_123a 2020 Case 36.0 $101.36
9 Supplier_8 10 SKU_123a 2020 Case 72.0 $101.36
10 Supplier_8 11 SKU_123a 2020 Case NaN NaN
11 Supplier_8 12 SKU_123a 2020 Case NaN NaN
12 Supplier_21 1 SKU_123a 2020 Case NaN NaN
13 Supplier_21 2 SKU_123a 2020 Case NaN NaN
14 Supplier_21 3 SKU_123a 2020 Case NaN NaN
15 Supplier_21 4 SKU_456b 2020 Case 32.0 $10.36
16 Supplier_21 5 SKU_456b 2020 Case 2.0 $10.36
17 Supplier_21 6 SKU_456b 2020 Case NaN NaN
18 Supplier_21 7 SKU_456b 2020 Case NaN NaN
19 Supplier_21 8 SKU_456b 2020 Case NaN NaN
20 Supplier_21 9 SKU_456b 2020 Case NaN NaN
21 Supplier_21 10 SKU_456b 2020 Case NaN NaN
22 Supplier_21 11 SKU_456b 2020 Case NaN NaN
23 Supplier_21 12 SKU_456b 2020 Case NaN NaN
</code></pre>