2017-09-12 7 views
0

は、データフレームの年に数ヵ月プロットするためにどのようにこのコードを使用して

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
pd.options.display.float_format = '{:.2f}'.format 
a = pd.read_csv(r'C:\Users\Leonardo\Desktop\TRABALHO\dadosboias\MARINHA_TRATADO\Cabo Frio\boia_1\cabofrio.csv', na_values=['-9999.0']) 
a.index = pd.to_datetime(a[['Year', 'Month', 'Day', 'Hour', 'Minute']]) 
pd.options.mode.chained_assignment = None 

出力はこのようなものです:

index    wspd    wdir gust   hs 
2009-06-24 15:21:00 1.4669884357700003 9.0  2.03121475722 nan 
2009-06-24 16:21:00 1.4669884357700003 34.0 2.03121475722 nan 
2009-06-24 17:21:00 0.677071585741  127.0 1.35414317148 nan 
2009-06-24 18:21:00 0.22569052858000002 146.0 0.902762114322 nan 
...     ...     ...  ... 
2013-02-10 17:21:00 nan     nan  nan    nan 

そしてplt.plot(a.hs, 'r.')出力でシンプルなプロットを行うことはこれです:

enter image description here

データフレームが見ることができるように、 "hs"列のデータが欠落しています。主な目的は、期間だけをデータでプロットすることです。画像では、目的は、この期間をプロットし、このような何かを得ることですので、2013から3への2012から03には、「HS」の優れた多くのデータを持っていることを見ることができます:

enter image description here

I WOULD誰かが助けてくれたら、感謝してください。

答えて

1

たとえば、関連する範囲を選択することができます。

a.loc['2012-03-01':'2013-03-01', 'hs'].plot() 
+0

ありがとうございます。もう1つだけ、もし私が(このファイルを読んでいる時に)すべてのデータフレームの代わりにこの期間だけ読んでみたいのであれば、私はどうしますか? –

+0

データフレーム全体を読み取ってからフィルタリングするか、独自のリーダーを作成して、範囲外の行をフィルタリングします。 – Alexander

関連する問題