2017-08-17 11 views
1

私はパンダプロットから2つの奇妙な問題があります。以下は私が作業しているサンプルデータです。これは3つの圧力値のデータセットです。これらの値をxaxisという日付の線図としてプロットしたいだけです。ここで不規則な線図プロットと日付書式の変更

Date D1 D2 D3 
01/01/2017 1013 1013 1013 
02/01/2017 1014 1013.5 1015 
03/01/2017 1014 1014.5 1014 
04/01/2017 1014 1014 1012.4 
05/01/2017 1014 1013.5 1012 
06/01/2017 1014 1014 1012 
07/01/2017 1012 1013 1011.8 
08/01/2017 1012 1012 1011.8 
09/01/2017 1011 1011 1012 
10/01/2017 1012 1012 1013.6 
11/01/2017 1012 1013 1014 
12/01/2017 1013 1013 1013 
13/01/2017 1013 1013 1013 
14/01/2017 1012 1012.5 1012 
15/01/2017 1014.5 1012 1015 
16/01/2017 1014 1014 1015.9 
17/01/2017 1015 1015 1015.4 
18/01/2017 1015 1014 1015.6 
19/01/2017 1014 1014 1015 
20/01/2017 1014 1013 1015.3 
21/01/2017 1014 1014 1014 
22/01/2017 1014 1013 1016 
23/01/2017 1014 1013 1016 
24/01/2017 1014 1013 1016 
25/01/2017 1014 1014 1015 
26/01/2017 1014 1014 1014.7 
27/01/2017 1014 1013 1013.5 
28/01/2017 1013 1012 1013.4 
29/01/2017 1012 1013 1014 
30/01/2017 1012 1014 1014.5 
31/01/2017 1014 1013 1014 
01/02/2017 1014 1014 1012 
02/02/2017 1014 1013 1014 
03/02/2017 1014 1016 1013 
04/02/2017 1014 1014 1015 
05/02/2017 1014 1013 1013 
06/02/2017 1013 1013 1014 
07/02/2017 1015 1014 1013 
08/02/2017 1014 1014 1015 
09/02/2017 1014 1013 1014 
10/02/2017 1014 1013 1013 
11/02/2017 1014 1013 1013 
12/02/2017 1013 1014 1014 
13/02/2017 1013 1014 1014 
14/02/2017 1016 1015.5 1015.6 
15/02/2017 1016 1015.5 1015 
16/02/2017 1016 1015 1012 
17/02/2017 1016 1016 1011.9 
18/02/2017 1014 1016 1012.3 
19/02/2017 1015 1013 1013.4 
20/02/2017 1015 1016 1012.3 
21/02/2017 1014 1015 1010.7 
22/02/2017 1012 1013 1010.7 
23/02/2017 1013 1013 1013.2 
24/02/2017 1014 1013 1013.2 
25/02/2017 1013 1013 1014 
26/02/2017 1014 1014 1014.5 
27/02/2017 1013 1013 1011.3 
28/02/2017 1012 1013 1012.6 

df = pd.read_csv(data_path, index_col=0, parse_dates=True) 
df1 = df[['D1', 'D2', 'D3']] 
plt1 = df1.plot(marker='o', figsize=(16, 9), title=title, grid=True) 

、ここで上記のデータをプロットするために私が持っている最低限のサンプルコードでは、私が得た奇妙なプロットである: -

enter image description here は、次の2つの奇妙な問題を見ることができますプロットから -

  1. プロットはs冒頭で尋ねられ、偶然ではない。

  2. DD:MM:YYYYの日付形式が完全に異なるように変更されました。

上記の問題を解決する方法を教えていただけますか?

+0

のパラメータdayfirst=Trueを使用してください:' df.index = pd.to_datetime (df.Date、 "%d /%m /%Y") '? – roganjosh

+0

'DataFrame'オブジェクトに 'Date'という属性がないというエラーが発生しました –

+0

'index'の' Date'を切り替えてください。それは私が最初にそれを編集したものでした。だから 'df.index' – roganjosh

答えて

3

あなたはparse_dates` `を取り除くと、代わりに別の操作として、次の操作を行います場合はどうなりますpd.read_csv

df = pd.read_csv(data_path, index_col=0, parse_dates=True, dayfirst=True) 
df1 = df[['D1', 'D2', 'D3']] 
plt1 = df1.plot(marker='o', figsize=(16, 9), title=title, grid=True) 

enter image description here

+0

とても単純です。コメントの中の私の提案が(ラウンドアバウトの方法で)達成されたと思ったが、明らかにそれはそうではないと思った。 – roganjosh

+0

問題を解決してくれてありがとう。 –

+0

私は過去にこれを持っていました。 'read_csv'は、ネストされたリストからDFを構築するよりも、データ型に柔軟性があるようです。例えば、 'read_csv'は' FALSE'を 'False'として解析しますが、リストから試してみるとそうではありません。 csvsを読んでいないcsvリーダーの柔軟性を再現する簡単な方法はありますか?私は何かを欠いている。 – roganjosh

関連する問題