擅长:python、mysql、java
<p>这也是两个水平的笛卡尔积<a href="https://stackoverflow.com/questions/11144513/numpy-cartesian-product-of-x-and-y-array-points-into-single-array-of-2d-points">This question</a>详细介绍了针对大型数据集优化产品性能的方法</p>
<pre><code>import pandas as pd
id_cols = ['timestampHour', 'object_id']
idx = pd.MultiIndex.from_product(df[id_cols].apply(pd.Series.unique).values.T, names=id_cols)
df.set_index(id_cols).reindex(idx).reset_index()
</code></pre>
<h3>输出:</h3>
<pre><code> timestampHour object_id value
0 2016/1/1 00:00 1 2.0
1 2016/1/1 00:00 3 1.0
2 2016/1/1 00:00 2 NaN
3 2016/1/1 01:00 1 1.0
4 2016/1/1 01:00 3 NaN
5 2016/1/1 01:00 2 3.0
6 2016/1/1 02:00 1 NaN
7 2016/1/1 02:00 3 2.0
8 2016/1/1 02:00 2 3.0
</code></pre>