python—将 Dataframe 分组,并将多个列中的数据聚合到一个新列中

b0zn9rqh  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(240)

我想将此 Dataframe 按分组 column a ,并创建一个新列( column d )所有值都来自 column bcolumn c .

data_dict = {'a': list('aabbcc'),
             'b': list('123456'),
             'c': list('xxxyyy')}

df = pd.DataFrame(data_dict)

从这个。。。

对此

我想出了一个办法,

df['d'] = df['b'] + df['c']
df.groupby('a').agg({'d': lambda x: ','.join(x)})

但是有没有其他的方法呢?

mcdcgff0

mcdcgff01#

我认为“更多的Pandas”是很难定义的,但你能够做到 groupby agg 如果您试图避开temp列,请直接在该系列上:

g = (df['b'] + df['c']).groupby(df['a']).agg(','.join).to_frame('d')
``` `g` :

d
a
a 1x,2x
b 3x,4y
c 5y,6y

相关问题