如何连接python中列中的组的值

时间:2018-06-14 17:14:30

标签: python pandas concatenation

如何连接列中组的值以生成另一列的值

假设我有以下内容:

  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

1 个答案:

答案 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