Неожиданный результат группового поиска: некоторые строки отсутствуют - PullRequest
0 голосов
/ 21 сентября 2019

У меня возникла проблема с преобразованием моих данных с помощью групповой работы Pandas.У меня есть таблица (несколько миллионов строк и 3 переменные), которую я пытаюсь сгруппировать по переменной «Date».

Фрагмент из необработанной таблицы:

Date                 V1          V2
07_19_2017_17_00_06  10           5
07_19_2017_17_00_06  20           6
07_19_2017_17_00_08  15           3
...
01_07_2019_14_06_59  30           1
01_07_2019_14_06_59  40           2

Цель - сгруппироватьстроки с одинаковым значением «Date», применяя функцию среднего к V1 и функцию суммы к V2.Таким образом, ожидаемый результат напоминает:

Date                 V1          V2
07_19_2017_17_00_06  15           11  # This row has changed
07_19_2017_17_00_08  15           3
...
01_07_2019_14_06_59  35           3   # and this one too!

Мой код:

df = df.groupby(['Date'], as_index=False).agg({'V1': 'mean', 'V2': 'sum'})

Вывод, который я получаю, однако, является совершенно неожиданным, и я не могу найти разумное объяснениепочему так происходит.Похоже, что Pandas обрабатывает данные только с 01_01_2018_00_00_01 до 12_31_2018_23_58_40 вместо 07_19_2017_17_00_06 до 01_07_2019_14_06_59.

 Date                 V1        V2
 01_01_2018_00_00_01  30        3
 01_01_2018_00_00_02  20        4
 ...
 12_31_2018_23_58_35   15       3
 12_31_2018_23_58_40   16       11

Если у вас есть какие-либо подсказки, я был бы очень признателен за ваш вклад.Спасибо!

1 Ответ

0 голосов
/ 29 сентября 2019

Я подозреваю, что проблема заключается в том, что Pandas не распознает формат даты, который я использовал.Решение оказалось довольно простым: преобразовать все даты в формат времени UNIX, разделить на 60, а затем повторить групповую процедуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...