【发布时间】:2015-11-28 15:45:40
【问题描述】:
我正在尝试使用 pandas 使用 how='first' 将船只跟踪数据从几秒钟重新采样到几分钟。数据帧称为 hg1s。唯一 ID 称为 MMSI。日期时间索引是 TX_DTTM。这是一个数据样本:
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 每分钟的第一条记录?
【问题讨论】:
-
我似乎无法在所提供的小数据样本上复制该问题。您能否发布一个演示
NaNs 的最小示例?
标签: python pandas downsampling