2017-12-12 17 views
0

ここに新しいが、私は今何時間も探していて、これに対する解決策を見つけることができないようです。私がしようとしているのは、Bokehチャートにデータフレームの集計を表示することです。私はgroupbyオブジェクトを使用しようとしましたが、groupbyオブジェクトをColumnDataSourceに渡すときにエラーが発生します(以下の記事で説明します)。Bokehを使ってパンダのデータフレームグループをプロットしようとしています

import pandas 
from bokeh.models import ColumnDataSource 
df = pandas.DataFrame(np.random.randn(50, 4), columns=list('ABCD')) 
group = df.groupby("A") 
source = ColumnDataSource(group) 

このエラーを取得:

how use bokeh vbar chart parameter with groupby object?

はここで私が使用しているいくつかのサンプルコードです

ValueError: expected a dict or pandas.DataFrame, got <pandas.core.groupby.DataFrameGroupBy object at 0x103f7bfd0> 

ボケとチャートにGROUPBYオブジェクトを描画するように任意のアイデアは?

ありがとうございます!

+0

group = df.group('A')を置き換え

groups = df.group('A') for group in groups: # get group key key = group[0] # Get group df group_df = group[1] 

お知らせ(パンダ0.21.0 、Bokeh 0.12.11)。パンダやボッシュをアップグレードすることを検討してください。 – MaxU

+0

ありがとうございました。私はPandas '0.20.3'とBokey '0.12.5'​​がインストールされているので、Pandas 0.21.1にアップグレードしようとしました。私の側にも同じエラーがあります。 – nivvle

+0

気にしないで、Bokeh 0.12.13にアップグレードして今すぐ動作します!ありがとうマックス!! – nivvle

答えて

0

私はBokehを使用していませんが、pandas.core.groupby.DataFrameGroupByColumnDataSourceを渡しているのはpd.DataFrameです。それは、groupbyを使用するときにキー、値の保存に似たデータ構造を作成するという問題があると言いました。したがって、groupsオブジェクトの各グループにはキーと値があり、その値は探しているDataFrameです。以下に示すように、あなたのコードを実行しているあなたはDataFramegroupby()を適用した結果のデータ構造を理解するのに役立ちます:私はあなたのコードは私のためだけで正常に動作groups = df.group('A')

関連する問題