2017-06-02 43 views
1

我有一个数据框要分组在一个列与分类值。 A,B,start,end pineapple,4,2:00,3:00 pineapple,2,2:30,3:50 pineapple,8,3:30,3:40 apple,3,1:20,4:30 apple,5,1:30,4:30 ... 我希望有一个数据帧,看起来像这样..在应用列列函数时,如何从数据框的不同列中获取某些值?

A,B,start,end pineapple,6,2:00,3:50 apple,8,1:20,4:30 ... 凡开始和结束时间对付那些在其分组的极端...... 我怎么能做到这一点,而无需通过每一行迭代,以保持跟踪每个分组中的min_time和max_time?

回答

3

需要agg通过dict

df = df.groupby('A', sort=False).agg({'B':'sum', 'start':'min', 'end':'max'}) 
print (df) 
      end start B 
A       
pineapple 3:50 2:00 14 
apple  4:30 1:20 8 
相关问题