1

我有一些时间序列数据持续时间约为 20 分钟的熊猫数据框。当我在它们上调用 plot 时,一些图将 x-ticks 显示为 hh:mm:ss,而其中一些显示为 hh:mm。

在比较输出图时,这会导致混淆。如何强制 hh:mm 具有与其他粒度一样的二级粒度?

根据第一个评论者的要求,这是一个生成 hh:mm:ss 格式图的数据框

  In [68]:dfd
  Out[68]:
  <class 'pandas.core.frame.DataFrame'>
  DatetimeIndex: 1193 entries, 2013-05-30 00:00:00 to 2013-05-30 00:19:59
  Data columns:
  disk_util    1193  non-null values
  dtypes: float64(1)

  In [69]:
  dfd.plot()  # this gives hh:mm:ss plot

但是这个给出了 hh:mm 格式的图:

    In [63]: dfn
    Out[63]:
    <class 'pandas.core.frame.DataFrame'>
    DatetimeIndex: 1197 entries, 2013-05-30 00:00:00 to 2013-05-30 00:19:56
    Data columns:
    net_util    1197  non-null values
    dtypes: float64(1)

    In [64]: dfn.plot()
4

1 回答 1

0

当我绘制数据框的子范围时,它给出了 hh:mm 格式的 x 刻度刻度,我看到它给出了 hh:mm:ss 格式的 x 刻度。这表明 pandas 正在优化超过一定大小时的刻度显示。

我还在上面注意到,上面的 disk_util 数据帧有 1193 个样本,但时间跨度为 2013-05-30 00:00:00 到 2013-05-30 00:19:59,这意味着在没有读数时存在一些时间戳。这种不完美可能导致 pandas 没有将显示优化为 hh:mm 格式。

而 net_util 1197 非空值的时间跨度为 2013-05-30 00:00:00 到 2013-05-30 00:19:56,这意味着没有丢失样本,而 pandas 将显示优化为 hh:mm。

当我人为地从数据框中删除一个样本 (df=df.drop(20)) 时,它会引入一个缺失的样本,并且图形采用 hh:mm:ss 格式。所以我的问题现在解决了。

于 2013-06-07T16:46:41.700 回答