Groupby and append lists and strings

后端 未结 2 1258
被撕碎了的回忆
被撕碎了的回忆 2021-01-12 02:43

I am trying to group-by the values in my \"value_1\" column. But my last column is made up of lists. When I try to group-by using my \"value_1\" column, the column made up o

2条回答
  •  悲&欢浪女
    2021-01-12 03:23

    You could groupby value_1 and aggregate the columns containing strings with the following function:

    def str_cat(x):
        return x.str.cat(sep=', ')
    

    And use GroupBy.sum to append the lists in the column list:

    df.replace('',None).groupby('value_1').agg({'list':'sum', 'value_2': str_cat,
                                                'value_3': str_cat})
    
                            list                       value_2  \
    value_1                                                              
    american  [supermarket, connivence, state]  california, nyc, texas   
    canadian             [coffee, sipermarket]          toronto, texas   
    
                        value_3  
    value_1                                 
    american  walmart, kmart, dunkinDonuts  
    canadian         dunkinDonuts, walmart  
    

提交回复
热议问题