2017-08-23 10 views
1

スニペットを回り、ボケに関連するレシピを試すのに費やされた日数。私が必要と思っていたことではなく、ここでこれを求める。Pythonはdatetimeシリーズの単純なヒストグラムの解を提供するプロットですか? Bokehまたはその他

は、私は、構造体の大きなCSVを持っている:

ACQ_DATE 
28/01/2017 0:00 
28/01/2017 1:00 
28/01/2017 2:00 
29/01/2017 7:00 
29/01/2017 7:00 
30/01/2017 3:00 
30/01/2017 3:00 
30/01/2017 4:00 
30/01/2017 4:00 
31/01/2017 0:00 
31/01/2017 9:00 
... 

私は今のところ行います読みやすいラベルを使用して、最終的にインタラクティブなヒストグラム、それでも簡単なプロットを提供したいと思います!だから、それがために数ヶ月にグループにデータをしようとしている

df['ACQ_DATE'] = pd.to_datetime(gdf['ACQ_DATE']) 
df['DTI'] = df['ACQ_DATE'] 
df.set_index('DTI', inplace=True) 

data = df.groupby(df["ACQ_DATE"].dt.month).count() 

hist, edges = np.histogram(data) 

p = figure() 
p.quad(top=hist, bottom=0, left=edges[:-1], right=edges[1:], line_color="white") 

main_row = row(p) 
layout = column(main_row) 

curdoc().add_root(layout) 
curdoc().title = "Fire Points" 

:私は、コードになってしまっているのDFとして読み込まれているデータフレームで

は他のスニペットこれをやろうとしているすべての束からではなく、さまざまな方法でスクランブルこの例。

これは私にプロットを与えていますが、数値はx軸ラベルとして日付/月ではありません。

私はBokehのドキュメントに非常に失望しています。私はそれがばらばらになっていて、Bokehの経験は予期せず貧弱であることがわかりました。今朝、holoviewsを試してみると、まったく同じような経験であると私は混乱していました。私はそれが何のために作られたのかと期待していました。私は、単純なシリーズでは、単にヒストグラムオブジェクトに投げることができると期待していましたカウントとシンプルなラベルの良さのために、しかし、いいえ。本当に、これに触れるすべてのポストは、まったく別の解決策を持っているようだ...

私の質問は、bokehサーバーのための簡単な解決策についてですが、私は明確で単純なものを見て満足していますsob sob、それはただのヒストグラムです!)別のライブラリを使用しています。

私はちょうどcan not do(somelibplease).histogram(df、 'ACQ_DATE)またはそれに類似する - 私はプロットオプションの大量の必要はありません。 'holoview'は残念ながらそこを通って来なかった。

明らかに、私はPythonでプロットするのが初めてです。将来的にはあまりやっていないでしょうし、過酷な機能やオプションは必要ありません。これを達成することは、非常にピジョンソニックではないようです。

パブではなく、Pythonに不満を感じることはありませんでした。すべての助けが大いに感謝します。

感謝と乾杯

+0

明確にするために、私はボケとホロビューを袋に入れるわけではありません。私は彼らが素晴らしいと思います。コンセプト、コード、コミュニティ。私は、タイムスタンプがより高いレベルで処理されない、特にhvのためにそれが困惑していることが分かります。私はhvチームが、彼らが見逃していた基本的な基本機能だと思うので、これに対処することを願っています。私は彼らのlibがターゲットとしているユーザーのタイプであり、最近手渡されたすべてのデータセットは時系列種類の... – byezy

答えて

2

あなたはPythonで「は任意の」ライブラリは、ここにパンダmatplotlibのラッパーを使用したソリューションだと述べているので。

import pandas as pd 

#Copying your data 
a = pd.read_clipboard(header = None, sep="s+") 
a.columns = ['ACQ_DATE'] 
a['ACQ_DATE'] = pd.to_datetime(a['ACQ_DATE']) 

フレームの一部増強、私はパンダにplot.bar()機能を使用して、データをヒストグラム最後に

date_groups = a.groupby(a['ACQ_DATE'].dt.date).size() 

date_groups 
Out[44]: 
ACQ_DATE 
2017-01-28 3 
2017-01-29 2 
2017-01-30 4 
2017-01-31 2 
dtype: int64 

をプロットするために得ることができるように、

date_groups.plot.bar(width=1.0) # width = 1, to make this more like histogram 

enter image description here


NB:私は、bokehのドキュメントに多くの改善が必要であることに同意します。


関連する問題