我将 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
为什么插值似乎没有任何作用?
相关分类