如何在分组群组上应用功能?

时间:2019-04-25 02:46:36

标签: pandas pandas-groupby

我正在尝试将功能应用于groupby组。无法使其工作。 这是我的数据:

ID      DATE        ABROAD
1      2019-1-2        1
2      2019-1-2        0
1      2019-1-4        1
1      2019-1-7        1
2      2019-1-7        1
1      2019-1-8        0
1      2019-1-19       1
2      2019-1-11       1

我想要的是

ID    #ofTravels
1      2
2      1

我想找到一个人旅行了多少次。这是我的功能

def no_travels(x):
    x.sort_values('DATE', ascending=True, inplace=True)
    current_state = x.iloc[0].ABROAD
    num_travels = 0
    for state in x['ABROAD']:
         if state != current_state:
              num_travels+=1
              current_state = state
    return num_travels

据我所知,x是一个分组的组。我在这里做什么错了?

谢谢

1 个答案:

答案 0 :(得分:0)

groupbydiff,如果ID的{​​{1}}等于diff,则每个ID都不同。属于一个肚,它将返回0,如果不返回False,那么我们只需要True来查找有多少sum

True