以下是pandas dataframe的示例:
top1_item top2_item top3_item
2 3 4
1 3 6
6 3 2
我想在数据框后附加一个包含其他列值的列表:
top1_item top2_item top3_item together
2 3 4 [2,3,4]
1 3 6 [1,3,6]
6 3 2 [6,3,2]
我试过像
这样的东西df[['top1_item', 'top2_item', 'top3_item']].agg(list, axis=1)
但这不会返回所需的pandas系列列表,我可以很容易地将其添加到我的数据帧中。
答案 0 :(得分:3)
或许,请改为列出一个列表。您也不需要使用agg
。
df['new'] = df.values.tolist()
df
top1_item top2_item top3_item new
0 2 3 4 [2, 3, 4]
1 1 3 6 [1, 3, 6]
2 6 3 2 [6, 3, 2]
如果它是您要聚合的列的子集,那很容易:
df['new'] = df['col1', 'col2', ...].values.tolist()
答案 1 :(得分:2)
df['New']=df.apply(tuple,1).apply(list)
df
Out[11]:
top1_item top2_item top3_item New
0 2 3 4 [2, 3, 4]
1 1 3 6 [1, 3, 6]
2 6 3 2 [6, 3, 2]