1

約20分間の時系列データを持つパンダデータフレームがいくつかあります。それらに対して plot を呼び出すと、x-ticks が hh:mm:ss として表示されるプロットもあれば、hh:mm として表示されるプロットもあります。

これにより、出力グラフを比較するときに混乱が生じます。hh:mm のものに他のものと同じように第 2 レベルの粒度を持たせるにはどうすればよいですか?

最初のコメント投稿者からのリクエストに応じて、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 ティックが与えられることがわかります。これは、特定のサイズを超えると、パンダが目盛りの表示を最適化していることを示しています。

上記の disk_util データフレームには 1193 個のサンプルがありましたが、時間は 2013-05-30 00:00:00 から 2013-05-30 00:19:59 にまたがっていることにも気付きました。この不完全性により、おそらく pandas は表示を hh:mm 形式に最適化しませんでした。

一方、net_util 1197 の null 以外の値のタイムスパンは 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 に答える