2016-08-29 2 views
1

У меня есть набор данных, который имеет 14 столбцов (мне приходилось использовать только 4 столбца: класс путешествий, пол, возраст и стоимость проезда), которые я разделил на поезд и тестовые наборы данных. Мне нужно создать вертикальную гистограмму из набора данных поезда для распределения пассажиров путешествующим классом (1, 2 и 3 - классы). Мне не разрешено использовать NumPy, Pandas, SciPy и SciKit-Learn.Задать набор данных по подсчетам категорий переменной

Я очень новичок в Python, и я знаю, как строить очень простые графики, но когда дело доходит до более сложных графиков, я немного теряюсь.

Это мой код (я знаю, что есть много плохого):

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() 

@TrakJohnson Это оригинальный Аскер вопроса - жаль, что я случайно как-то удалил свой профиль, должен был сделать новый. Большое вам спасибо за вашу помощь. Проблема в том, что мой набор данных составляет 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

:) Мой набор данных от титаника, и я должен использовать переменные столбца: класс путешествия (целое число), пол (целое число), возраст (float) и цена тарифа (float). Класс путешествий состоит из 3 категорий (1, 2 и 3). Извините, я не знаю, как я могу дать вам набор данных. Поэтому мне нужно было бы создать список для переменных, а затем определить класс путешествий с тремя категориями? Спасибо :) –

Смежные вопросы