2014-06-19 2 views
-3

나는 3 개의 열을 포함하는 csv 파일을 가지고 있습니다. 하나는 날짜, 다른 날짜는 해당 날짜, 다른 하나는 가격입니다. csv 파일을 y 축의 가격과 x 축의 날짜와 시간으로 어떻게 그릴 수 있습니까? 모든 날짜에는 10 : 00-19 : 00의 동일한 시간 값이 포함됩니다. 예를 들면 2 월 21 일 10:00 값은 100, 10:01 값은 102 ..., 19:00 값은 106입니다. 2 월 22 일 10:00 값은 107입니다. 매일 같은 일이지만 가격 변경 . 파이썬을 사용하여 CSV에서 내용을 플롯

import numpy as np 
import matplotlib.pyplot as plt 
data = np.genfromtxt('a.csv',delimiter=',', dtype = float) 

b = [row[1] for row in data] 
c = [row[2] for row in data] 

fig = plt.figure() 
ax = fig.add_subplot(111, axisbg = 'w') 
ax.plot(b,c,'r',lw=1.3) 
plt.ylabel('Price value of stock') 
plt.xlabel('Time') 
plt.show() 

하지만이 코드를 그냥 0

CSV는 열에있는 날짜의 시간에 관계없이 대 가격을 플롯 date.It에 따라 시간을 플롯되지 수는 다음과 같습니다

14062004 1000 15.29 
14062004 1001 15.16 
14062004 1002 15.14 
14062004 1003 15.22 
14062004 1004 15.18 
+0

시도한 코드를 게시하십시오 .. – iJade

+0

완벽한 프로그램을 만들 수 있습니까? 또는 이미 작업 한 내용이 있습니까? – Bach

+0

약간의 도움이 될 code.yes를 추가했습니다. – user3755882

답변

0

우선 파일에 대한 csv.reader 모듈을 파이썬으로 사용하십시오. 여기에 예를 확인 : 이제 https://docs.python.org/2/library/csv.html

을, 당신은 "datetime.datetime"개체에 날짜와 시간을 캐스팅 datetime.datetime.strptime를 사용할 수 있습니다. Float 또는 Integer로 저장할 수있는 가격입니다.

이제 모든 가격 값이 존재하는 순서대로 '목록'을 만듭니다. 다음으로, 시작 시간부터 경과 된 시간의 '목록'을 만드십시오. 모든 날짜 시간 개체에 대한 것입니다. (datetime 개체는 실제로 빼기가 가능하므로 매우 유용합니다. 날짜, 분 등의 시간차를 얻을 수있는 특성을 사용하여 datetime.timedelta 개체를 얻을 수 있습니다)

XY 축 플롯, matplotlib 또는 원하는 도구 사용. 파이썬 외부의 플롯 (Excel, MATLAB 등)을 수행하려는 경우. csv.writer를 사용하여 목록을 CSV 파일에 다시 쓸 수 있습니다. (예를 들어 google 코드 예)

이것은 초보자가 될 것입니다. 나중에, 플롯을보다 의미있는 것으로 만들기 위해 하루 중 19:00에서 다음 날 10:00 사이의 큰 변화의 효과를 무효로 할 수 있습니다.

관련 문제