2017-04-21 22 views
0

と仮定私は次のような値が含まれています性別などの列を持つデータフレーム持っている - 私は、棒グラフや円グラフの形でmatplotlibのを使用して、このデータを視覚化するにはどうすればよい視覚化データ

male 
female 
female 
empty 
male 
female 

を男性と女性の数/割合を表示しますか?

+0

私は質問が悪いの品質を見ることができるので、downvotedすることに同意します。しかし、私は人々がこの質問を終わらせたい理由を理解していません。 (答えは本質的に単一のコード行であるため)あまりにも広すぎず、トピックから外れていません(どのコマンドを使用するかが分かれば答えは簡単です)。 – ImportanceOfBeingErnest

答えて

1

おそらく最も簡単な選択肢は、列にvalue_countを使用し、結果を棒グラフとしてプロットすることです。

import pandas as pd 
import matplotlib.pyplot as plt 

a = ["male","female", "female", "empty","male","female"] 
df = pd.DataFrame(a, columns= ["gender"]) 

df["gender"].value_counts().plot.bar() 

plt.show() 

enter image description here

それはより多くの微調整が可能になります別のオプションは、次のようにmatplotlibのを使用することです

df["gender"].value_counts().plot.pie() 
plt.gca().set_aspect("equal") 

enter image description here

、円グラフを描画することも同様に可能です:

import pandas as pd 
import matplotlib.pyplot as plt 

a = ["male","female", "female", "empty","male","female"] 
df = pd.DataFrame(a, columns= ["gender"]) 

labels = [] 
for i, dfi in enumerate(df.groupby(["gender"])): 
    labels.append(dfi[0]) 
    plt.bar(i, dfi[1].count(), label=dfi[0]) 
plt.xticks(range(len(labels)), labels) 
plt.legend() 
plt.show() 
ネイティブパンダの機能を使用して

enter image description here

0

a = ["male","female", "female", "empty","male","female"] 
df = pd.DataFrame(a, columns= ["gender"]) 
_ = df.groupby('gender').size().plot(kind='pie', legend=True) 

enter image description here

関連する問題