在pandas dataframe中删除缺少的分类数据[python]

时间:2017-01-12 21:53:35

标签: python-2.7 pandas

下图显示了样本数据。由于第3个子组中的Col2缺少50个,我想插入一个Col1 = 3且Col2 = 50的新行。

Data

1 个答案:

答案 0 :(得分:1)

糟糕的方式

cols = ['Col1', 'Col2']
df.set_index(
    cols, drop=False
).Col1.unstack().stack(dropna=False).reset_index()[cols]

更好的方式

ref = df.stack().groupby(level=1).unique()
pd.MultiIndex.from_product(
    ref.tolist(), names=ref.index
).to_series().reset_index().iloc[:, :-1]

enter image description here