Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫,选择组的第一个观察并排序_Python_Pandas - Fatal编程技术网

Python 熊猫,选择组的第一个观察并排序

Python 熊猫,选择组的第一个观察并排序,python,pandas,Python,Pandas,对熊猫来说是新的,并且试图变得更好。我想按“id”列对_进行分组,然后按“col2”和“col3”对_进行排序,然后进行顶部观察。 提前谢谢 In[5]:df Out[5]: id col2 col3 0 1 2 5 1 1 2 2 2 2 8

对熊猫来说是新的,并且试图变得更好。我想按“id”列对_进行分组,然后按“col2”和“col3”对_进行排序,然后进行顶部观察。 提前谢谢

  In[5]:df
  Out[5]:
            id         col2         col3
  0         1           2            5 
  1         1           2            2 
  2         2           8            3 
  3         2           3            6  
  4         2           3            1 
  5         1           3            7 
  6         2           5            6 
  7         1           8            6
期望的:

  In[6]:df_selection
  Out[6]:
            id         col2         col3
  0         1           2            2 
  1         2           3            1 

要做到这一点,一个非常简单的方法是按这些列进行排序、分组,并取每组中的第一个:

>>> df.sort_values(by=['col2', 'col3']).groupby('id').first()
    col2    col3
id      
1   2   2
2   3   1
要获得问题的确切输出,只需重置索引:

>>> df.sort_values(by=['col2', 'col3']).groupby('id').first().reset_index()
    id  col2    col3
0   1   2   2
1   2   3   1

谢谢你,这很有效!这只是一个好奇的问题,我如何通过升序/降序传递参数进行排序?@nonegiven72通过:-)它需要一个布尔值或布尔值列表。