how extract a vector from groupby pandas in python

前端 未结 1 1385
隐瞒了意图╮
隐瞒了意图╮ 2021-01-19 02:44

I have a DataFrame using pandas:

one    two  three

 1      2    1 
 4      1    1
 2      2    1
 3      1    2
 20     2    2

Now, I wou

相关标签:
1条回答
  • 2021-01-19 03:06

    You can use groupby:

    s = df.groupby('three')['two'].apply(list)
    print (s)
    three
    1    [2, 1, 2]
    2       [1, 2]
    Name: two, dtype: object
    
    a = s.loc[1]
    b = s.loc[2]
    print (a)
    [2, 1, 2]
    
    print (b)
    [1, 2]
    

    If need nested lists:

    L = df.groupby('three')['two'].apply(list).tolist()
    print (L)
    [[2, 1, 2], [1, 2]]
    

    Another possible solutions:

    L = [list(x) for i, x in df.groupby('three')['two']]
    print (L)
    [[2, 1, 2], [1, 2]]
    
    L = [x.tolist() for i, x in tuple(df.groupby('three')['two'])]
    print (L)
    [[2, 1, 2], [1, 2]]
    
    0 讨论(0)
提交回复
热议问题