猿问

插入缺少 datetime64 值的熊猫

我将 Pandas 0.23.4 与 Python 3.7.1 一起使用。


我一直在收集 ICMP ping 回复并想用 Pandas 分析它们。


输入文件包含如下数据:


13:27:19.651425 64 bytes from 1.1.1.1: icmp_seq=26 ttl=57 time=15.643 ms

13:27:20.652464 64 bytes from 1.1.1.1: icmp_seq=27 ttl=57 time=11.957 ms

13:27:21.653371 64 bytes from 1.1.1.1: icmp_seq=28 ttl=57 time=12.201 ms

数据提取:sequence,timestamp,ttl和time elapsed。


但是,偶尔会出现超时,如下所示:


Request timeout for icmp_seq 6478

在这种情况下,我唯一可以解析的数据是sequence.


我的数据框dtypes看起来像这样:


elapsed              object

timestamp    datetime64[ns]

ttl                  object

dtype: object

索引是 a Int64Index(序列列)。


已记录的超时将包含NA(NAT为时间戳)。我想做的是插入时间戳列的值,因为我在超时前后都有一个值。


但是,如果我尝试:


df_ping.timestamp.interpolate(method='linear')

它仍然返回


5060   2018-12-11 14:51:28.704059

5061                          NaT

5062                          NaT

5063                          NaT

5064                          NaT

5065                          NaT

5066                          NaT

5067                          NaT

5068                          NaT

5068   2018-12-11 14:51:38.255034

5069   2018-12-11 14:51:38.255073

另一个例子:


4673   2018-12-11 14:45:00.769315

4674                          NaT

4675   2018-12-11 14:45:02.449024

为什么插值似乎没有任何作用?


跃然一笑
浏览 234回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答