質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

463閲覧

単位時間の積算数をグラフ化する.

nigo1973

総合スコア14

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/01/29 12:26

お世話になります.
単位時間ごとの積算数をもとめ,それをmatplotlibなどでグラフ化することを考えています.

例えば,入力データのフォーマットは以下となります.

入力データ

#example.csv index timestamp 0 Sat Jan 27 23:59:42 +0000 2018 1 Sat Jan 27 23:59:02 +0000 2018 2 Sat Jan 27 23:58:37 +0000 2018 3 Sat Jan 27 23:58:06 +0000 2018 4 Sat Jan 27 23:57:35 +0000 2018 5 Sat Jan 27 23:57:33 +0000 2018 6 Sat Jan 27 23:56:55 +0000 2018 7 Sat Jan 27 23:56:36 +0000 2018 8 Sat Jan 27 23:56:31 +0000 2018 9 Sat Jan 27 23:56:06 +0000 2018 10 Sat Jan 27 23:56:02 +0000 2018 11 Sat Jan 27 23:55:03 +0000 2018 12 Sat Jan 27 23:54:56 +0000 2018 13 Sat Jan 27 23:53:41 +0000 2018 14 Sat Jan 27 23:53:12 +0000 2018 15 Sat Jan 27 23:53:02 +0000 2018 16 Sat Jan 27 23:52:24 +0000 2018 17 Sat Jan 27 23:52:10 +0000 2018 18 Sat Jan 27 23:52:09 +0000 2018 19 Sat Jan 27 23:52:06 +0000 2018 20 Sat Jan 27 23:51:33 +0000 2018 21 Sat Jan 27 23:51:26 +0000 2018 22 Sat Jan 27 23:50:23 +0000 2018 23 Sat Jan 27 23:50:11 +0000 2018 24 Sat Jan 27 23:49:36 +0000 2018 25 Sat Jan 27 23:49:21 +0000 2018 26 Sat Jan 27 23:49:07 +0000 2018 27 Sat Jan 27 23:49:05 +0000 2018 28 Sat Jan 27 23:48:37 +0000 2018 29 Sat Jan 27 23:48:11 +0000 2018 30 Sat Jan 27 23:47:59 +0000 2018 31 Sat Jan 27 23:47:36 +0000 2018 32 Sat Jan 27 23:47:15 +0000 2018 33 Sat Jan 27 23:46:22 +0000 2018 34 Sat Jan 27 23:46:15 +0000 2018 35 Sat Jan 27 23:45:39 +0000 2018 36 Sat Jan 27 23:45:25 +0000 2018 37 Sat Jan 27 23:45:05 +0000 2018 38 Sat Jan 27 23:45:02 +0000 2018

ここで,5分毎のIndex数を積算し,それをMatplotlibにてグラフ化(X軸:日時, Y軸:5分毎の積算Index数)することを考えています.

pythonで日付データの読み込みフォーマット等を理解していないため,csvファイルの読み込みまではできたのですが,そこでストップしています.

どなたか方法をお教えいただけると助かります.
よろしくお願いします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

pandas.to_datetime()を使用して文字列から日付型に変換する方法もあります。
後の処理はmagichanさんの通りです

投稿2018/01/30 08:38

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nigo1973

2018/02/01 00:11

ありがとうございます.こちらも向学のために試してみます.
guest

0

ベストアンサー

CSVファイルをpandasで取り込んで、resample() すると良いかと思います。

sample.csv の セパレータが不明でしたので、とりあえず **「4個のSpace」**にて実装しております。その際にcsvファイル1行目のheader部の "index" と"timestamp" の間のスペースが3個でしたので編集しております。

Python

1import pandas as pd 2import matplotlib.pyplot as plt 3 4df = pd.read_csv('sample.csv', sep=' ', parse_dates=['timestamp'], engine='python') 5df2 = df.set_index('timestamp').resample('5T').count() 6print(df2) 7# index 8# timestamp 9# 2018-01-27 23:45:00 15 10# 2018-01-27 23:50:00 12 11# 2018-01-27 23:55:00 12 12 13df2.plot(kind='bar') 14plt.show()

投稿2018/01/29 23:43

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nigo1973

2018/01/30 09:02

ご回答ありがとうございます.提示しました入力データにて,いただいたコードでグラフ化することができました. ただ,対象としているサンプルは,indexとtimestampの間にスペースによる区切りはなく,このままでは表示することができませんでした. そこで,今回は”4個のSpaceにて実装”とありますが,スペースによる区切りがない入力ファイルの場合,sep=''の設定で’’の間にスペースを無くすだけで可能かと思い,修正し実行したのですが,うまく行きませんでした. よろしければ,対処方法を教えていただけると助かります. よろしくお願いします.
magichan

2018/01/30 09:59

> スペースによる区切りがない入力ファイルの場合 この場合データの区切りはどのようにして判定しているのでしょうか? もう少し具体的に示していただけるとたすかります。
nigo1973

2018/01/30 11:41

失礼しました.タブで区切られています.sep='\t''とすることでよいのでしょうか.
magichan

2018/01/30 13:18

はい 多分それで問題ないはずです
magichan

2018/01/30 13:32

あと セパレータがTABの場合 read_csv() の代わりに read_table() を使う方法 もありますね こちらはセパレータがデフォルトでTABなのでセパレータを指定する必要がありません
nigo1973

2018/01/31 12:33

ありがとうございます.sampleデータではうまく読み込めたのですが,同じフォーマットの実データでは,まだ読み込みでエラーがでています. データに何の違いがあるのか,もう少しトライしてみます.
nigo1973

2018/02/05 02:02

ほかプログラムでSampleデータをアウトプットしているのですが,それをテキストエディタで保存しなおすと,問題なく読み込まれました.フォーマットが異なるのか? 考えていたことはできましたので,サポートいただきありがとうございました.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問