熊猫:使用loc获取固定的行数

时间:2018-07-17 20:48:20

标签: python pandas

假设我们有以下数据框。

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

对于每个索引,至少应有两个结果。对于少于两个值的条目,应返回一个额外的零值。

2 个答案:

答案 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一起使用。