Я относительно новичок в pandas. Я пытаюсь вернуть строки или идентификаторы клиентов, которые либо имеют стандартное отклонение «0» в столбце единиц, либо разница во времени между каждой последующей транзакцией составляет менее 10 минут. например, в данных ниже транзакция 1,4,5 составляет 50 единиц, и стандартное отклонение будет равно 0, аналогично транзакция 3 и 6 имеет разницу во времени в 1 секунду, а 6 и 7 имеют разницу в 3 секунды, поэтому строки 1,4,5,3,6,7 должны быть возвращены. Пожалуйста, помогите мне с этим, я застрял. Данные показаны в таблице:
<em>index| customerid| code | transactionID| units | tstamp
1 |968794 |200 |46408 | 50 | 2019.06.28 00:03:22
2 |874213 |201 |6526 | 25 | 2019.06.28 00:03:20
3 |226292 |202 |18609 | 55 | 2019.06.28 00:03:22
4 |968794 |203 |50466 | 50 | 2019.06.28 00:03:26
5 |968794 |204 |65687 | 50 | 2019.06.28 00:03:33
6 |226292 |205 |232 | 23 | 2019.06.28 00:03:23
7 |226292 |206 |1232 | 45 | 2019.06.28 00:03:26
8 |874213 |207 |3343 | 32 | 2019.06.28 00:23:45
9 |874213 |208 |2343 | 54 | 2019.06.28 00:45:55
</em>
Я пробовал этот код, но не знаю, куда идти дальше. для моего случая здесь код должен вернуть мне строки с идентификаторами клиентов 8968794 и 8226292. Вот что я пробовал, но не знаю, как даже начать с части времени.
df1= df.loc[(df['units'].groupby(df['customerid']).std()==0)]
, это дает мне ошибку:IndexingError: в качестве индексатора предоставлена недопустимая логическая серия (индексы логической серии и индексированного объекта не совпадают
После ответа г-на Сураджа я попытался использовать код
df['TimeDiff'] = df.groupby('customerid')['tstamp'].transform(lambda g: (g.max()-g.min()).seconds)
df2 = df[df['TimeDiff']<600]
df3 = pd.concat([df1,df2]).drop_duplicates()
df3приходит к:
<em>|TimeDiff | code | customerid |index | tid| tstamp | units
0 NaN |200| 8968794| 1 | 46408 | 2019-06-28 00:03:22 50
3 NaN |203| 8968794| 4 | 50466 | 2019-06-28 00:03:26 50
4 NaN |204| 8968794| 5 | 65687 | 2019-06-28 00:03:33 50
0 11.0|200| 8968794| 1 | 46408 | 2019-06-28 00:03:22 50
2 4.0 |202| 8226292| 3 | 18609 | 2019-06-28 00:03:22 55
3 11.0|203| 8968794| 4 | 50466 | 2019-06-28 00:03:26 50
4 11.0|204| 8968794| 5 | 65687 | 2019-06-28 00:03:33 50
5 4.0 |205| 8226292| 6 | 232 | 2019-06-28 00:03:23 23
6 4.0 |206| 8226292| 7 | 1232 | 2019-06-28 00:03:26 45</em>