擅长:python、mysql、java
<p>您可以使用<code>itertools.product</code>和<code>concat</code></p>
<h3>设置</h3>
<pre><code>z = io.StringIO(""" proid sku qty
1 p1 SKU1 1
2 p1 SKU3 2
3 p2 SKU1 3""")
df = pd.read_table(z, delim_whitespace=True)
p = ["p1", "p2"]
s = ["SKU1", "SKU2", "SKU3"]
df2 = pd.DataFrame(list(it.product(p,s)), columns=["proid", "sku"])
</code></pre>
<p>那么</p>
<h3>浓度</h3>
<pre><code>df = df.set_index(["proid", "sku"])
df2 = df2.set_index(["proid", "sku"])
pd.concat([df2[~df2.index.isin(df.index)],df]).reset_index()
proid sku qty
0 p1 SKU2 0
1 p2 SKU2 0
2 p2 SKU3 0
3 p1 SKU1 1
4 p1 SKU3 2
5 p2 SKU1 3
</code></pre>