Вот так выглядят мои данные:
id date rt dnm
101122 2017-01-24 0.0 70
101122 2017-01-08 0.0 49
101122 2017-04-13 0.02976 67
101122 2017-08-03 1.02565 39
101122 2016-12-01 0.0 46
101122 2017-01-25 0.0 69
101122 2017-01-02 0.0 76
101122 2017-07-18 0.02631 38
101122 2016-06-02 0.0 120
221344 2016-10-21 0.00182 176
221344 2016-09-21 0.47732 194
221344 2016-06-23 0.0 169
221344 2017-10-10 0.91391 151
221344 2017-04-29 0.0 33
221344 2017-02-05 0.0 31
221344 2017-10-16 0.0 196
221344 2016-09-25 0.0 33
221344 2016-07-17 0.0 21
221344 2016-07-21 0.0 46
615695 2017-07-12 0.0 21
615695 2017-07-05 0.0 18
615695 2016-07-11 0.0 38
615695 2016-07-19 0.03655 29
615695 2017-05-27 0.0 23
615695 2017-12-22 0.0 20
615695 2017-04-25 0.0 34
615695 2017-03-23 0.0 20
615695 2016-09-23 0.0 25
615695 2016-06-18 0.0 25
Я пытаюсь получить сумму столбца 'dmn' для каждого 'идентификатора' и дать этому новому столбцу имя типа 'sum_values'.После этого мне нужно получить идентификаторы, которые имеют значение sum_values больше 300. Следующий код генерирует первую часть:
data = pd.read_csv(file_name, sep='\t', header=0,
parse_dates=[1], infer_datetime_format=True);
test = (data.assign(sum_values = data.groupby('id')['dnm'].transform(np.sum))
.query('sum_values > 300'))
Это добавит новый столбец с именем sum_values и повторит значение суммы.для каждого идентификатора несколько раз.Мне нужно получить уникальное значение столбца «id» и «sum_values».Но я не могу понять, как / где добавить nunique ().
Это желаемый результат:
id sum_values(>300)
101122 574
221344 1050
Есть идеи?