Python-使用第一个返回NaN的下采样

Python-使用第一个返回NaN的下采样,python,pandas,downsampling,Python,Pandas,Downsampling,我正在尝试使用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 36

我正在尝试使用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   
假设每分钟内有几个数据点是安全的,所以我不明白为什么这个方法没有拾取第一条记录。我查看了这个链接:因为它似乎与我的问题相似。我试着通过label='left'和label='right',但都没有成功


如何在每分钟内为每个MMSI返回第一条记录?

事实证明,问题不在于方法,而在于我对数据的假设。大数据集为一个月,即44640分钟。虽然我的数据集中的每条记录都有相关的值,但在时间上并没有100%的重叠。在这种情况下,MMSI=367448060出现在2013-10-17 23:24:31,再次出现在2013-10-29 20:57:32。在这两个数据点之间,没有要采样的数据,因此产生了一个NaN,这是正确的。

事实证明,问题不在于方法,而在于我对数据的假设。大数据集为一个月,即44640分钟。虽然我的数据集中的每条记录都有相关的值,但在时间上并没有100%的重叠。在这种情况下,MMSI=367448060出现在2013-10-17 23:24:31,再次出现在2013-10-29 20:57:32。在这两个数据点之间,没有要采样的数据,这导致了一个NaN,这是正确的。

我似乎无法在提供的小样本数据上复制这个问题。你能举一个简单的例子来说明
NaN
s吗?我似乎无法在提供的小样本数据上重复这个问题。你能给出一个演示
NaN
s的简单示例吗?