列出对大熊猫相同行的理解

时间:2018-09-13 20:35:47

标签: python pandas

我想知道是否存在一种在存在相同行的情况下“折叠”熊猫数据帧的简洁方法。例如:

df =

col_a  col_b
    a     1
    b     2
    b     3
    c     4
    d     5
    d     6
    d     7

我需要的是:

df_new = 

col_a     col_b
    a         1
    b    [2, 3]
    c         4
    d [5, 6, 7]

它肯定应该包含groupby

df_new = df.groupby('col_a').apply(....)

但是,如何有效实施方括号中的内容,我感到困惑。

1 个答案:

答案 0 :(得分:1)

s = df.groupby('col_a')['col_b'].apply(list)
df['col_c'] = df['col_a'].map(s)

print(df)

col_a   col_b   col_c
0   a   1   [1]
1   b   2   [2, 3]
2   b   3   [2, 3]
3   c   4   [4]
4   d   5   [5, 6, 7]
5   d   6   [5, 6, 7]
6   d   7   [5, 6, 7]