如何遍历DataFrame以选择行

时间:2020-02-25 16:21:26

标签: python pandas loops dataframe

我是Python的新手,我试图了解如何从数据框内的每个索引中选择n行,并构建仅包含选定行的新数据框。

我的df看起来像这样:

      Col1 Col2 Col3 etc
   A
   A
   A
   A
   B
   B
   B
   B

我基本上会为每个索引取前两行:

     Col1 Col2 Col3 etc.
   A
   A
   B
   B

我尝试使用for循环和iloc来执行此操作,如下所示,但是循环停止到索引A:

   for i in df:
       sel=df.iloc[:3]

我知道这是一个基本问题,但我读了更多书,对使用,应用,使用范围等感到迷惑

请帮助!谢谢

2 个答案:

答案 0 :(得分:1)

如果要获取每个组的前两行,可以执行以下操作:

df.groupby('Col1').head(2)

答案 1 :(得分:0)

如果A,B等在索引中而不在第一列中,则@Chris的答案略有不同。您应该首先重设索引,使用group_by,head,重设索引并删除其名称:

df.reset_index().groupby('index').head(2).set_index('index').rename_axis(None)