Cannot get groupby records based on their minimum value using pandas in python

后端 未结 5 538
粉色の甜心
粉色の甜心 2021-01-23 00:15

I have the following csv

id;price;editor
k1;10,00;ed1
k1;8,00;ed2
k3;10,00;ed1
k3;11,00;ed2
k2;10,50;ed1
k1;9,50;ed3

If I do the following

5条回答
  •  醉梦人生
    2021-01-23 00:46

    Much like @Wen-Ben I choose to use sort_values and drop_duplicates, however, I converted the values using pd.read_csv with the decimal parameter.

    from io import StringIO
    
    csvfile = StringIO("""id;price;editor
    k1;10,00;ed1
    k1;8,00;ed2
    k3;10,00;ed1
    k3;11,00;ed2
    k2;10,50;ed1
    k1;9,50;ed3""")
    
    df = pd.read_csv(csvfile, delimiter =';', decimal=',')
    
    df.sort_values(['id','price']).drop_duplicates(['id']) 
    

    Output:

       id  price editor
    1  k1    8.0    ed2
    4  k2   10.5    ed1
    2  k3   10.0    ed1
    

提交回复
热议问题