Я хотел бы иметь уникальный DateTimeIndex
в кадре данных. Поэтому я бы хотел объединить две строки с одинаковым индексом в одну строку. Во время этого слияния я хотел бы применить пользовательскую формулу (например, avg/mean
, max
, min
) к каждому столбцу.
Идея, сформулированная в данных:
Кадр данных с данными временного ряда
df_orig
+----------------------------+-------+--------+
| | value | value2 |
| ts | | |
+----------------------------+-------+--------+
| 2019-09-17T09:39:38.711111 | 10 | 10 |
+----------------------------+-------+--------+
| 2019-09-17T09:39:38.766666 | 1 | 3 |
+----------------------------+-------+--------+
| 2019-09-17T09:39:38.766666 | 2 | 6 |
+----------------------------+-------+--------+
| 2019-09-17T09:39:39.010101 | 2 | 4 |
+----------------------------+-------+--------+
я бы попытался отметить те строки, индекс которых не уникален . Например:
df_marked_duplicated
+----------------------------+-------+--------+-----------+
| | value | value2 | is_unique |
| ts | | | |
+----------------------------+-------+--------+-----------+
| 2019-09-17T09:39:38.711111 | 10 | 10 | 1 |
+----------------------------+-------+--------+-----------+
| 2019-09-17T09:39:38.766666 | 1 | 3 | 0 |
+----------------------------+-------+--------+-----------+
| 2019-09-17T09:39:38.766666 | 2 | 6 | 0 |
+----------------------------+-------+--------+-----------+
| 2019-09-17T09:39:39.010101 | 2 | 4 | 1 |
+----------------------------+-------+--------+-----------+
, чтобы позже я мог вычислить avg
на value
и max
на value2
. Таким образом, целевой df выглядит следующим образом:
df_target
+----------------------------+-------+--------+-----------+
| | value | value2 | is_unique |
| ts | | | |
+----------------------------+-------+--------+-----------+
| 2019-09-17T09:39:38.711111 | 10 | 10 | 1 |
+----------------------------+-------+--------+-----------+
| 2019-09-17T09:39:38.766666 | 1.5 | 6 | 0 |
+----------------------------+-------+--------+-----------+
| 2019-09-17T09:39:39.010101 | 2 | 4 | 1 |
+----------------------------+-------+--------+-----------+
Я не уверен, что pd.groupby
не является немного излишним, потому что - из того, что я вижу - это заставляет меня повторить это позже. Мне также интересно узнать, как дедупликация работает в pandas более подробно.
Спасибо!