如何连接列中组的值以生成另一列的值
假设我有以下内容:
Animal Date Meal Order
0 Cat 01/12/18 Mouse Mouse CatFood
1 Cat 02/23/18 CatFood Mouse CatFood
2 Dog 01/08/18 DogFood DogFood Bone Treat
3 Dog 01/09/18 Bone DogFood Bone Treat
4 Dog 01/15/18 Treat DogFood Bone Treat
是否可以使用pandas进行group by Animal,按日期排序,然后连接Meal列的值以创建一个类似于以下内容的新列
Array.map
答案 0 :(得分:4)
df2 = df1.sort_values(['Animal', 'Date'])
df2['Order']=df1.groupby('Animal').Meal.transform(lambda x : ' '.join(x))
输出:
Animal Date Meal Order
2 Cat 01/12/18 Mouse Mouse CatFood
3 Cat 02/23/18 CatFood Mouse CatFood
0 Dog 01/08/18 DogFood DogFood Bone Treat
1 Dog 01/09/18 Bone DogFood Bone Treat
4 Dog 01/15/18 Treat DogFood Bone Treat