私は、ユーティリティプロバイダからダウンロードした1年分のユーティリティデータをプロットしようとしています。データは、各行が異なる日(最上部に最新)であり、各列が1時間(11:00 AM、12:00 PM、1:00 PMなど)であるマトリクスで提供されます。私はこの2D DataFrameを1D Timeseriesに変換し、シリーズをプロットしたいと思います。2時間ごとのDataFrameから1D時系列をプロットする
.stack()を使用すると閉じることができますが、スタックされた後の日付と時刻の列から日時を作成することはできません。また、プロットすると、時間が正しく左から右にプロットされますが、日付は左から右に下がります。たとえば、25日(午前1時、午前2時、午前3時など)、24日(午前1時、午前2時、午前3時など)、23日(午前1時、午前2時、午後3時など)です。私は本当のdatetimeが作成された後にこれが修正されると確信しています。
以下のコードは小さなサンプルdfを生成しますが、実際のデータセットではすべて24時間が列であり、すべての年の日付は行です。
df=pd.DataFrame({'Date':['06/25/17','06/24/17','06/23/17'], '12:00 AM':
[1,2,3],'1:00 AM':[4,5,6],'2:00 AM':[7,8,9],})
df.set_index(['Date'], inplace = True)
df
目的はインデックスが時系列であり、ユーティリティの使用がデータであるシリーズを持つことです。
ありがとうございました!
この最終的な正しい形式はになりますデータ値で順序付けされていない時系列順: 06/23/17 12:00 3 06/23/17 1:00 6 06/23/17 2:00 9 06/24/17 12:00 2 06/24/17 1:00 5 06/24/17 2: など – TheGadgeteer
私の改訂版の記事をご覧ください。最初は、インデックスをタイムスタンプに変換するのを忘れていました。データタイプが正しいと、データフレーム内の順序に関係なく、時系列順にプロットすることができます。 – dubbbdan