假设我们有以下数据框。
tempDataframe =
Col1 Col2
1 2
1 4
2 5
运行以下代码后,我希望得到此结果:
tempDataframe = tempDataframe.set_index('Col1')
tempDataframe.loc[[1,2]]
Col1 Col2
1 2
1 4
2 5
2 0
对于每个索引,至少应有两个结果。对于少于两个值的条目,应返回一个额外的零值。
答案 0 :(得分:1)
在您的情况下,您需要使用cumcount
df['New']=df.groupby(level=0).cumcount()
df.set_index('New',append=True,inplace=True)
df.unstack(fill_value=0).stack().groupby(level=0).head(2)
Out[436]:
Col2
Col1 New
1 0 2
1 4
2 0 5
1 0
答案 1 :(得分:0)
这似乎是您想将reindex与fill_value一起使用。