質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1880閲覧

Python グラフ化

yuyu127

総合スコア27

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2018/06/23 12:55

お世話になっております。

下記のデータの分析で、データの可視化をしたいのですが、
うまい方法が見つかりません。

下記の1.と2.で困っております。

データ:
https://archive.ics.uci.edu/ml/datasets/bank+marketing

bank.csv

python3

1#インポート 2import pandas as pd 3import numpy as np 4from pandas import DataFrame,Series 5 6import matplotlib.pyplot as plt 7import seaborn as sns 8%matplotlib inline 9 10#データの読み込み 11df = pd.read_csv("bank.csv", sep=";" ) 12 13#no,yesで層別化して、ageによる可視化 14labels = ['no', 'yes'] 15x=df[df['y']=='no']['age'] 16y=df[df['y']=='yes']['age'] 17 18plt.hist([x,y],stacked=True,label=labels,bins=10) 19plt.legend() 20 21#no,yesで層別化して、jobによる可視化 22labels = ['no', 'yes'] 23x=df[df['y']=='no']['job'] 24y=df[df['y']=='yes']['job'] 25 26plt.hist([x,y],stacked=True,label=labels,bins=10) 27plt.legend() 28

1.上記の「no,yesで層別化して、ageによる可視化」で、
各棒グラフを正規化した形でグラフ化したい。
つまり、各年齢の幅において、yesとnoの数の割合の積み上げグラフを出したい。(全体で100となるように)

2.上記の「no,yesで層別化して、jobによる可視化」で、
1と同様に各棒グラフを正規化した形でグラフ化したい。
つまり、各年齢の幅において、yesとnoの数の割合の積み上げグラフを出したい。(全体で100となるように)
しかし、jobはカテゴリデータのため、棒グラフにできない

お手数ですが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

やりたいことはこんな感じでしょうか?
【質問1】

Python

1import pandas as pd 2import matplotlib.pyplot as plt 3df = pd.read_csv("bank.csv", sep=";" ) 4df.groupby('age')['y'].value_counts(normalize=True).unstack().plot(kind='bar', stacked=True) 5plt.show()

【質問2】

Python

1import pandas as pd 2import matplotlib.pyplot as plt 3df = pd.read_csv("bank.csv", sep=";" ) 4df.groupby('age')['job'].value_counts(normalize=True).unstack().plot(kind='bar', stacked=True) 5plt.show()

投稿2018/06/24 23:49

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuyu127

2018/06/25 07:17

magichanさん ありがとうございました。希望とおりグラフ化できました。 groupbyで集約化することがポイントですね。 勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問