熊猫将许多列分组为一列,其中每个单元格都是一个值列表

问题描述

我有数据框

df = 
c1 c2 c3 c4 c5
1.  2. 3. 1. 5
8.  2. 1. 3. 8
4.  9. 1  2. 3

并且我想将所有列分组到一个列表中,该列表将是唯一的列,所以我会得到:

df = 
    l
[1,2,3,1,5]
[8,8]
[4,9,3]

(df 的形状从 (3,5) 变为 (3,1))

最好的方法是什么?

解决方法

试试:

#best way:
df['l']=df.values.tolist()
#OR
df['l']=df.to_numpy().tolist()


#another way:
df['l']=df.agg(list,1)
#OR
df['l']=df.apply(list,1)