2016-12-27 4 views
1

私は、日付がstr形式で1つ、浮動小数点形式で2つの列を持つdatframe bankdatを持っています。私はpandasとmatplotlibを使って、x軸が日付で、y軸が浮動小数点のプロットを生成したいと考えています。Pythonの下でpandasを使用すると、matplotlibを使用して日付をプロットするにはどうすればよいですか?

example

:私は今

bankdat.plot() 
plt.show() 

を使用して、私のデータフレームをプロットしてみたとき、私は数字の代わりに、私のx軸上の日付を取得

bankdat['Buchungstag'] = pd.to_datetime(bankdat['Buchungstag']) 

を使用して日付を文字列に変換しました

私は何が間違っていますか?助けてくれてありがとう PS:私は間違っていることを指摘すれば、コーディングとstackoverflowを初めて知っていて、非常に感謝しています。

編集:ありがとうございます。残念ながら、set indexを使用すると、このプロットはfig2になります。私は示唆されたものとは異なる分布を使用していますか?

Edit2。 私はその後

ausgaben = pd.read_csv('asd.csv', encoding = 'ISO-8859-1',sep=';', skiprows=6,usecols=[0,7]) 

を使用してCSVファイルからデータフレームを取得しています、私は日付の順序を指摘するために、私もに取得didntの

bankdat = pd.DataFrame(np.array([[np.nan, '10000']]), columns=[ausgaben.columns[0], ausgaben.columns[1]]).append(ausgaben) 

感謝を使用して最初の行を追加してい "私のデータは理にかなっています。データフレームは、次のようになります。 example 3、およびCSV形式にエクスポート

,Betrag (EUR),Kontostand 
,4130.96,4130.96 
2016-12-23,-65.0,4065.96 
2016-12-20,520.0,4585.96 
2016-12-19,-29.5,4556.46 
2016-09-12,-1000.0,3556.46 

ドミトリーPolonskiyの提案に従って解決できます:」あなたがあなたの日付の最初の日付の列としてNATを持っているという事実可能性があり、これを試してみてくださいbankdat.Buchungstag.shift(1).plot() "と入力します。 yoyurヘルプありがとう!

+1

'bankdat.set_index( 'Buchungstag')。plot()'? – MaxU

+0

私の質問を編集しました、ありがとうございます! –

答えて

0
bankdat.set_index(['Buchungstag'], inplace = True) 
bankdat.index.name = None 

bankdat.Buchungstag.plot(figsize=(10,6), title = 'Title', fontsize = 16) 
+0

おかげで、不幸なことに.buchungstag。私のディストリビューションでは、bankdat ['Buchungstag']を使うと、キーエラーが発生し、インデックスを設定すると私のプロットで私の質問を編集しました。 –

+0

DFの外観を表示できますか?あなたが言うように「Buchungstag」欄に問題があるかのように見えます。あなたの日付が逆順であるかのようにも見えますが、DFを昇順に並べ替えることができます。 –

+0

私は私の答えを編集しました、ありがとう! –

関連する問題