2

DateTime でインデックス付けされた DataFrame があり、ヒストグラムにはカウントが表示されます。各カウントは 20 秒です。
カウントの代わりに分、時間、または日を表示するように y 軸を変更するにはどうすればよいですか?

これが私の DataFrame の上位 5 行です。

from pandas.lib import Timestamp
df = pd.DataFrame({'A': {Timestamp('2013-01-20 00:00:16.726000'): 0.14746094,
                         Timestamp('2013-01-20 00:00:36.726002'): 0.13964844,
                         Timestamp('2013-01-20 00:00:56.726004'): 0.13574219,
                         Timestamp('2013-01-20 00:01:16.725997'): 0.14355469,
                         Timestamp('2013-01-20 00:01:36.725999'): 0.14746094},
                   'B': {Timestamp('2013-01-20 00:00:16.726000'): 3.5716574,
                         Timestamp('2013-01-20 00:00:36.726002'): 3.5716574,
                         Timestamp('2013-01-20 00:00:56.726004'): 3.5716574,
                         Timestamp('2013-01-20 00:01:16.725997'): 3.5716574,
                         Timestamp('2013-01-20 00:01:36.725999'): 3.5716574}})
df.plot()

matplotlib v1.2.0 パンダ 0.10.1

ヒストグラム

バンプ

4

1 に答える 1

1

あなたの例を使用すると、 df.plot はヒストグラム (つまり、値の分布) を表示しませんが、タイムスタンプによってインデックス付けされた値の進化曲線を表示します。

次のスニペットは、「カウント」ではなく間隔期間を y 軸の重みとして使用して、値のヒストグラムを表示します (すべて指定した 20 秒に等しくなりますが、値ごとに異なる場合があります)。

import numpy as np
import matplotlib.pyplot as plt
df.hist(weights=np.repeat(20,5))
plt.ylabel('Cumulated intervals duration [sec]')

ヒストグラム

于 2013-03-04T08:11:31.493 に答える