2017-12-04 12 views
0

matplotlib.pyplot에서 CSV 파일을 가져 오는 방법에 시달리는 파이썬 초보자입니다. 시간 (= 몇 시간 동안 사람들이 비디오를 재생하는 데 소비했는지 확인하고 싶습니다. 게임) 및 레벨 (= 게임 레벨). 그리고 나서 여성 (1)과 남성 (0) 사이의 Tax로 산란 음모를 그릴 수 있습니다. 그래서, x는 '시간'이고 y는 '레벨'이 될 것입니다.Python 오류 : matplotlib을 사용하여 산점도를 생성하는 중

내 데이터 csv 파일은 다음과 같습니다

  hour gender level 
0   8 1 20.00 
1   9 1 24.95 
2   12 0 10.67 
3   12 0 18.00 
4   12 0 17.50 
5   13 0 13.07 
6   10 0 14.45 
... 
... 
499   12 1 19.47 
500   16 0 13.28 

여기 내 코드입니다 :

import matplotlib.pyplot as plt 
import numpy as np 
import pandas as pd 

df=pd.read_csv('data.csv') 
plt.plot(x,y, lavel='some relationship') 
plt.title("Some relationship") 
plt.xlabel('hour') 
plt.ylabel('level') 
plt.plot[gender(gender=1), '-b', label=female] 
plt.plot[gender(gender=0), 'gD', label=male] 
plt.axs() 
plt.show() 

나는 다음과 같은 그래프를 그릴 싶습니다. 그래서, 남성과 여성의 두 줄이있을 것입니다.

y=level|   @----->male 
     | @ 
     | *   *----->female 
     |________________ x=hour 

그러나이 문제를 해결하는 방법은 확실하지 않습니다. 계속 오류가 발생했습니다. NameError : name 'hour'가 정의되지 않았습니다.

+1

당신은 상관 할 필요가 – maxbellec

+1

파이썬 문자열로 해석 대신라는 변수'hour'를 찾고 있습니다, 그래서 당신은 아마, hour''주위에 쉼표를 잊어 버렸습니다 파이썬의 문법. '[''('.'''('.'와 다를 수 있습니다. – ImportanceOfBeingErnest

+0

@maxou 쉼표를 입력 할 곳이 어디인지 모르겠습니다. – user

답변

2

이 방법으로 그것을 할 수 없습니다 :

import matplotlib.pyplot as plt 
import numpy as np 
import pandas as pd 

df = pd.DataFrame(data={"hour": [8,9,12,12,12,13,10], 
         "gender": [1,1,0,0,0,0,0], 
         "level": [20, 24.95, 10.67, 18, 17.5, 13.07, 14.45]}) 

df.sort_values("hour", ascending=True, inplace=True) 

fig = plt.figure(dpi=80) 
ax = fig.add_subplot(111, aspect='equal') 

ax.plot(df.hour[df.gender==1], df.level[df.gender==1], c="red", label="male") 
ax.plot(df.hour[df.gender==0], df.level[df.gender==0], c="blue", label="female") 
plt.xlabel('hour') 
plt.ylabel('level') 
+0

감사하지만 각 변수의 수는 500이 아닙니다. 그냥 7. 나는 내 CSV 파일에서 변수를로드하고 싶습니다. – user

+0

@user 그걸 로딩하고 내 대답의 모든 단계를 수행하는 것이 문제가됩니까?'df = pd.DataFrame (data .. .df = pd.read_csv ('data.csv')와 함께 – erocoar

+0

예,했으나 오류 메시지에 "NameError : 이름 '시간'이 정의되지 않았습니다." – user