2016-08-29 2 views
1

열차와 열차로 분리 된 14 개의 열 (여행 열, 성별, 연령 및 요금 가격의 열 4 개만 사용)이있는 데이터 세트가 있습니다. 데이터 세트를 테스트하십시오. 나는 여행 클래스 (1, 2, 3이 클래스)에 의해 승객의 분포에 대한 기차 데이터 세트에서 수직 막대 차트를 작성해야합니다. NumPy, Pandas, SciPy 및 SciKit-Learn를 사용할 수 없습니다.변수의 개수에 따라 데이터 세트 플롯

저는 파이썬에 매우 익숙하며, 매우 간단한 그래프를 그리는 방법을 알고 있습니다. 그러나 좀 더 복잡한 그래프에 관해서는 약간 분실됩니다.

내 코드 (내가 아는 잘못된 많이 있습니다)입니다 :이 질문의 원래 아스 커입니다

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

:) 내 데이터 세트가 타이타닉에서 왔기 때문에 클래스 (정수), 성별 (정수), 연령 (부동) 및 요금 (부동)과 같은 열 변수를 사용해야합니다. 여행 클래스에는 3 가지 카테고리 (1, 2 및 3)가 있습니다. 죄송합니다. 어떻게 데이터 집합을 줄 수 있는지 잘 모르겠습니다. 그래서 변수에 대한 목록을 작성한 다음 세 가지 카테고리로 클래스를 정의해야합니다. 고마워요 :) –

관련 문제