Как сделать метод, который будет использоваться с fillna () для фреймов данных - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь заполнить пропущенные значения в кадре данных. Отсутствуют данные о времени и значениях прилива, которые были обрезаны в начальную и конечную даты при заполнении фрейма данных.

Вот что я пытаюсь сделать:

Если tideStartTime отсутствует: затем DateTime - 3 часа, если данные tideEndTime отсутствуют, взять данные из tideStart, иначе взять данные из tideEnd

      FROM LAST DAY (-3h)
      tideStartTime = tideEndTime or tideStartTime
      tideStartHeight_mt = tideEndHeight_mt or tideStartHeight_mt
      tideStartDateTime = tideEndDateTime od tideStartDateTime
      tideStart_type = tideEnd_type or tideStart_type

Если tideEndTime отсутствует: тогда DateTime + 3h, если данные tideStartTime отсутствуют, взять данные из tideEnd, иначе взять данные from tideStart

      FROM NEXT DAY (+3h)
      tideEndTime = tideStartTime or tideEndTime
      tideEndHeight_mt = tideStartHeight_mt or tideEndHeight_mt
      tideEndDateTime = tideStartDateTime od tideEndDateTime
      tideEnd_type = tideStart_type or tideEnd_type

Вот некоторые примеры данных из файла CVS, с которым я работаю:

tideStartTime,tideStartHeight_mt,tideStartDateTime,tideStart_type,tideEndTime,tideEndHeight_mt,tideEndDateTime,tideEnd_type,dropinfo
,,,,3:21 AM,4.8,2019-12-30 03:21,HIGH,51.25 2.5 2019-12-30 00:00:00
3:21 AM,4.8,2019-12-30 03:21,HIGH,10:26 AM,0.3,2019-12-30 10:26,LOW,51.25 2.5 2019-12-30 06:00:00
3:40 PM,4.82,2019-12-30 15:40,HIGH,,,,,51.25 2.5 2019-12-30 21:00:00
,,,,3:59 AM,4.68,2019-12-31 03:59,HIGH,51.25 2.5 2019-12-31 00:00:00
3:59 AM,4.68,2019-12-31 03:59,HIGH,11:05 AM,0.39,2019-12-31 11:05,LOW,51.25 2.5 2019-12-31 09:00:00

Фрейм данных индексируется по дате и месту запроса, я ' Я пытаюсь использовать последний столбец, который является «dropinfo» для идентификации, если мне нужна информация о tidestart или tideend. Ожидаемый результат будет:

tideStartTime,tideStartHeight_mt,tideStartDateTime,tideStart_type,tideEndTime,tideEndHeight_mt,tideEndDateTime,tideEnd_type,dropinfo
,,,,3:21 AM,4.8,2019-12-30 03:21,HIGH,51.25 2.5 2019-12-30 00:00:00
3:21 AM,4.8,2019-12-30 03:21,HIGH,10:26 AM,0.3,2019-12-30 10:26,LOW,51.25 2.5 2019-12-30 06:00:00
3:40 PM,4.82,2019-12-30 15:40,HIGH,3:59 AM,4.68,2019-12-31 03:59,HIGH,51.25 2.5 2019-12-30 21:00:00
3:40 PM,4.82,2019-12-30 15:40,HIGH,3:59 AM,4.68,2019-12-31 03:59,HIGH,51.25 2.5 2019-12-31 00:00:00
3:59 AM,4.68,2019-12-31 03:59,HIGH,11:05 AM,0.39,2019-12-31 11:05,LOW,51.25 2.5 2019-12-31 09:00:00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...