2014-10-20 7 views
3

좀이 같은 가치와 여러 열이있는 구문 분석 매우 큰 dataframe이 : 내가 NumPy와 및하기 matplotlib를 가져온주파수 플롯

Name Age Points ... 
XYZ 42 32pts ... 
ABC 41 32pts ... 
DEF 32 35pts 
GHI 52 35pts 
JHK 72 35pts 
MNU 43 42pts 
LKT 32 32pts 
LKI 42 42pts 
JHI 42 35pts 
JHP 42 42pts 
XXX 42 42pts 
XYY 42 35pts 

합니다.

'Points'열의 값이 나타나는 횟수의 그래프를 그려야합니다. 나는 음모를 꾸릴 필요가 없다. 따라서 많은 데이터 집합에 대해 같은 점수의 점수가 몇 번 발생하는지 보는 것이 좋습니다.

그래서 본질적으로 막대 그래프 (또는 막대 그래프)는 32pts가 3 회, 35pts가 5 회, 42pts가 4 회 발생한다는 것을 보여 주어야합니다. 값을 정렬 된 순서로 플롯 할 수 있다면 훨씬 더 좋습니다. df.hist() 시도했지만 나를 위해 작동하지 않습니다. 실마리가 있습니까? 감사.

+0

가 DF'에서 [ '포인트'] 결과를 사용 value_counts을()' –

+0

오. 나는 그렇게하고 값을 출력한다. 그러나 그래프로 그릴 수는 없습니다 (히스토그램과 같은 것) ... 그것이 문제입니다. – SMU

+0

개체를 저장하고 그 음모를 그립니다. –

답변

12

그냥 직접 dataframe의 value_count 방법의 결과를 플롯 : 당신이 당신의 열에서 모든 요소에서 문자열 'pnts'을 제거하려는 경우, 당신은 이런 식으로 뭔가를 할 수

import matplotlib.pyplot as plt 
import pandas 

data = load_my_data() 
fig, ax = plt.subplots() 
data['Points'].value_counts().plot(ax=ax, kind='bar') 

:

df['points_int'] = df['Points'].str.replace('pnts', '').astype(int) 

그들은 모두 'pnts'로 끝난다 고 가정합니다. Split columns using pandas

을 공식 문서 : 그것은 라인에 라인에서 변화하는 경우,이 같은 정규 표현식을 조사 할 필요가있다. http://pandas.pydata.org/pandas-docs/stable/text.html#text-string-methods

+0

흠 ... 고마워. libs가 설치되어 있지만 플롯이 표시되지 않습니다. 나는 다른 것을 놓치고 있니? 플롯을 볼 수있게해야하는 다른 것이 있습니까? Ubuntu를 실행하는 VM에서 작업 중입니다. 14.04 – SMU

+0

가장 빠른 방법은 Figure를 파일로 저장하기 위해'fig.savefig () '를 사용하는 것입니다. matplotlib가 사용할 수있는 대화식 백엔드를 정의 할 수도 있지만 그 점에 대해서는 다른 여러 질문에서 다루었습니다. (@SMU) –

+0

고맙습니다. 그거야. – SMU