pandas cumsum работает неправильно

#python #pandas #dataframe

Вопрос:

У меня есть фрейм данных:

 data = {'process': ['buying','selling','searhicng','repairing', 'preparing', 'selling','buying', 'searching', 'selling','searching'],
        'type': ['in_progress','in_progress','end','in_progress', 'end', 'in_progress','in_progress', 'end', 'in_progress','end'],
'country': ['usa','usa', 'usa','ghana', 'ghana','ghana','ghana', 'ghana', 'albania','albania'],
'id': ['022','022','022', '011','011', '011','011', '011', '6','6'],
'created': ['2021-07-01','2021-07-02','2021-07-03','2021-07-04','2021-07-05','2021-07-06','2021-07-07','2021-07-08','2021-07-09','2021-07-10']        
}
df = pd.DataFrame(data, columns = ['process','type','country', 'id','created'])
 

введите описание изображения здесь

Мне нужно использовать cumsum в функции apply. После использования df.groupby('country').apply(lambda x:(x['type']!=x['type'].shift()).cumsum()).reset_index()
я получаю такой фрейм данных

введите описание изображения здесь

Но мне нужно получить другой кадр данных, может ли кто-нибудь увидеть проблему? Результат вывода Pandas версии ‘0.25.3’ :

введите описание изображения здесь

Комментарии:

1. Я управляю им сам и получаю исключительно то, что вы хотели.

2. @Aryerez и почему я добавил свою версию для панд. Я не могу обновить его

Ответ №1:

Использование IIUC:

 df['new'] = df.groupby('country')['type'].apply(lambda x:(x!=x.shift()).cumsum())

print (df)
     process         type  country   id     created  new
0     buying  in_progress      usa  022  2021-07-01    1
1    selling  in_progress      usa  022  2021-07-02    1
2  searhicng          end      usa  022  2021-07-03    2
3  repairing  in_progress    ghana  011  2021-07-04    1
4  preparing          end    ghana  011  2021-07-05    2
5    selling  in_progress    ghana  011  2021-07-06    3
6     buying  in_progress    ghana  011  2021-07-07    3
7  searching          end    ghana  011  2021-07-08    4
8    selling  in_progress  albania    6  2021-07-09    1
9  searching          end  albania    6  2021-07-10    2