2016-08-29 13 views
1

私は列車と列車に分割した14列(私は4列の列車:旅行クラス、性別、年齢、運賃など)を持つデータセットを持っていますテストデータセット。私は旅行クラス(1、2、3がクラス)によって乗客の分布のために設定された列車データから垂直棒グラフを作成する必要があります。 NumPy、Pandas、SciPy、SciKit-Learnを使用することはできません。変数のカテゴリ数に応じたデータセットをプロットする

私は非常に単純なグラフをプロットする方法を知っていますが、もっと複雑なグラフについては少し失われます。

これは私のコード(私は間違っているがたくさんある知っている):この@TrakJohnson

travelling_class = defaultdict(list) 
for row in data: 
    travelling_class[row[0]] 

travelling_class = {key: len(val) for key, val in travelling_class.items()} 

keys = travelling_class() 
vals = [travelling_class[key] for key in keys] 
ind = range(min(travelling_class.keys()), max(travelling_class.keys()) + 1) 
width = 0.6 

plt.xticks([i + width/2 for i in ind], ind, ha='center') 
plt.xlabel('Tracelling Class') 
plt.ylabel('Counts of Passengers') 
plt.title('Number of Passengers per Travelling Class') 
plt.ylim(0, 1000) 
plt.bar(keys, vals, width) 
plt.show() 

import matplotlib.pyplot as plt 

classes = travelling_class[1, 2, 3] 

plt.hist(classes) 
plt.show() 

は、質問の元のアスカーある - 残念私は誤って何とかので、私のプロフィールを削除しました新しいものを作らなければならなかった。手伝ってくれてどうもありがとう。問題は私のデータセットが1045行であるため、すべてをリストするのが難しいかもしれないということです。上記は妥当と思われますか?ヒストグラムをプロットします

+0

あなたがコーディングしようとしたことがありますか? – iparjono

+0

こんにちは、はい私は持っています:) –

+0

私は投稿に自分のコードを挿入しました –

答えて

1

使用plt.hist(more info here)

例:

import matplotlib.pyplot as plt 

classes = [1, 2, 1, 1, 3, 3] 

plt.hist(classes) 
plt.show() 

そして、これが結果です:

Histogram

+0

ヒープありがとうございました:)データセットの列のクラスに対して、どうすればいいですか?申し訳ありませんが、私は少しPythonに慣れていません。 –

+0

歓迎です:)。あなたがしなければならないことは、クラスを数値で置き換えることです。文字列として保持する方法はないと思います。使用しているデータセットのタイプはわかりませんが、例のようにリストに変換して入力するのは簡単です。 – TrakJohnson

+0

:)私のデータセットはタイタニックのもので、旅行クラス(整数)、性別(整数)、年齢(フロート)、および運賃(フロート)の列変数を使用する必要があります。旅行クラスには3つのカテゴリー(1、2、3)があります。申し訳ありませんが、私はあなたにどのようにデータセットを与えることができるか分かりません。だから私は変数のリストを作成し、3つのカテゴリで旅行クラスを定義する必要がありますか?ありがとうございます:) –

関連する問題