Я пытаюсь использовать pandas для повторной печати данных отслеживания судна с секунд до минут, используя как = 'first'. Файловая структура называется hg1s. Уникальный идентификатор называется MMSI. Индекс datetime - TX_DTTM. Вот пример данных:Python -Pandas Downsampling с первым возвратом NaN
TX_DTTM MMSI LAT LON NS
2013-10-01 00:00:02 367542760 29.660550 -94.974195 15
2013-10-01 00:00:04 367542760 29.660550 -94.974195 15
2013-10-01 00:00:07 367451120 29.614161 -94.954459 0
2013-10-01 00:00:15 367542760 29.660210 -94.974069 15
2013-10-01 00:00:13 367542760 29.660210 -94.974069 15
Код для ресэмплировать:
hg1s1min = hg1s.groupby('MMSI').resample('1Min', how='first')
И образец данных на выходе:
hg1s1min[20000:20004]
MMSI TX_DTTM NS LAT LON
367448060 2013-10-21 00:42:00 NaN NaN NaN
2013-10-21 00:43:00 NaN NaN NaN
2013-10-21 00:44:00 NaN NaN NaN
2013-10-21 00:45:00 NaN NaN NaN
Это с уверенностью предположить, что существует несколько точек данных в течение каждой минуты, поэтому я не понимаю, почему это не собирает первую запись для этого метода. Я просмотрел эту ссылку: Pandas Downsampling Issue, потому что это похоже на мою проблему. Я попробовал передать label = 'left' и label = 'right', не работал.
Как вернуть первую запись каждую минуту для каждого MMSI?
Я не могу воспроизвести проблему на небольшой выборке данных, которые были предоставлены. Не могли бы вы разместить минимальный пример, демонстрирующий 'NaN'? – jme