2016-03-30 14 views
2

I持って、実際に特定の列にvalue_counts()を実行しているの出力であり、次のパンダSeries(経て作成されたパンダシリーズに列名を適用する方法 - 「ティポデvivienda」 - DataFrameの:DataFrame.value_counts()

などSeaborn、ボケなどvisualizaionライブラリと

enter image description here

私は信じている(私は、追加の論争や変換せずに、このシリーズに直接棒グラフを形成することができる。しかしd3pyため、棒グラフにのみデータフレームから生成することができます)ので、シリーズをDataFrameに変換します:

enter image description here

私は、棒グラフをプロットについて設定します。この時点で

p = d3py.PandasFigure(v_as_df) 

は、私はバーチャートを望んでいることd3py伝える必要があります。私はまた、列のタイトルを伝える必要があります。これは物事が落ちる場所です。 v_as_df.columns()を呼び出すと、私を与える:

ややあり、私がしようと何列名を推測:

p += d3py.Bar('', 'Tipo de vivienda') # x, y 

...しかし、私はp.show()を呼び出すときに何も表示されません取得し、私は私ドンからだと推測しています実際にはDataFrameですが、Seriesとなります。

SeriesにはDataFrame()と表示されていますか?

  • のPython:2.7.11
  • パンダ:0.18.0

答えて

1

私は、データフレームが問題を作成するようシリーズのキャストとは思いません。

しかし、これは空の文字列は、おそらくエラーの原因である誤った

p += d3py.Bar('', 'Tipo de vivienda') # x, y 

を探します。

あなたはあなたのため x引数に空の文字列を渡しているあなたのDATAFRAMEは、1つのインデックス(「カーサ」)、1列(「ティポデvivienda」)

で構成されている

、そうd3pyは、その列を探します名前は ''、それを見つけられず、失敗します。

ソリューション: 1.チェックd3pyのドキュメントと 2.次の操作を行い、チャートの値としてインデックスを渡す方法を見つける:

v_as_df = v_as_df.reset_index() # Transform your index into a column 
print v_as_df.columns 
### WILL output something like :**['index', 'Tipo de vivienda']** 

then : 
p = d3py.PandasFigure(v_as_df) 
# adapt *'index'* with whatever you get from printing v_as_df.columns above 
p += d3py.Bar('index', 'Tipo de vivienda') 
+0

あなたの提案のアプローチは、実際にはなりません。プロットが表示されますが、私はあなたのロジックを見ることができます。ありがとう。 – Pyderman