Допустим, у меня есть пандасный фрейм данных, как показано ниже:
>>> df=pd.DataFrame({'dt':pd.to_datetime(['2018-12-10 16:35:34.246','2018-12-10 16:36:34.243','2018-12-10 16:38:34.216','2018-12-10 16:42:34.123']),'value':[1,2,3,4]})
>>> df
dt value
0 2018-12-10 16:35:34.246 1
1 2018-12-10 16:36:34.243 2
2 2018-12-10 16:38:34.216 3
3 2018-12-10 16:42:34.123 4
>>>
Я бы хотел сгруппировать этот фрейм по столбцу 'dt'
, но я хочу сгруппировать его так, чтобы он считал значения, которыеменьше, чем секунда, разные одинаковы, после группировки тех, которые я хотел бы суммировать в столбце 'value'
на основе каждой группы, и я хочу, чтобы два кадра данных оставались одинаковой длины, поэтому значения разности менее одной секунды будутвсе повторяющиеся значения, которые я до сих пор пробовал:
>>> df.groupby('dt',as_index=False)['value'].sum()
dt value
0 2018-12-10 16:35:34.246 1
1 2018-12-10 16:36:34.243 2
2 2018-12-10 16:38:34.216 3
3 2018-12-10 16:42:34.123 4
>>>
Но, как вы видите, кадр данных не изменился, поскольку он группируется по эквивалентным 'dt'
значениям столбца.
Мой желаемый выводэто:
dt value
0 2018-12-10 16:35:34.246 3
1 2018-12-10 16:36:34.243 3
2 2018-12-10 16:38:34.216 3
3 2018-12-10 16:42:34.123 4