2017-12-13 6 views
0

pandasを使用して棒グラフを作成しようとしています。これは動作するはずです私の推測航法によってパンダで棒グラフを作成できません

import pandas as pd 

indexes = ['Strongly agree', 'Agree', 'Neutral', 'Disagree', 'Strongly disagree'] 

df = pd.DataFrame({'Q7': [10, 11, 1, 0, 0]}, index=indexes) 
df.plot.bar(indexes, df['Q7'].values) 

が、私は私で投げ変なKeyError: 'Strongly agree'を得る:私は、次のコードを持っています。なぜこれがうまくいかないのか分かりません。

+0

'df.plot:このケースでは、reset_index()でカラムにindexesを移動して、明示的に新しいindex列を呼び出すことができます。

df.reset_index().plot.bar(x="index", y="Q7") 

をどちらのアプローチが正しいプロットを生成します'plot = bar = 'bar')'または 'df.plot.bar()' – Wen

+0

'plot.bar'は同じものの別名ですか? –

答えて

2

plotをPandasメソッドとして呼び出すと、dfのデータ構造がプロットされます。

設定方法はindex=indexesで、棒グラフのxの値はdf.indexに格納されます。だから、ちょうどdf.plot.bar()を使うというWenの提案は、パンダがこの場合はx軸としてdf.indexを自動的に使うように見えるので、うまくいく。

また、xyの列名を指定することもできます。 (

plot

+0

ありがとう。そして、私はそれぞれのバーを異なる色にしたいのですか? –

+0

パンダは、単一の列に対して複数の色をサポートするようには設計されていません。 (一般的には、カテゴリ軸の冗長次元として色をエンコードすることは、しばしば不必要で、混乱させることがあります)。実際に必要な場合は、ここで回避策があります:https://stackoverflow.com/a/44495136/ 2799941。 –

関連する問題