2014-07-22 1 views
1

를 사용하여 그래프이 txt 파일에서, 그래프 내 파이썬 코드 플로팅파이썬 TXT는 파일 데이터

[info] 
Datum=100221 
[messung] 
Uhrzeit;Interval;AMB_TEMP;IRAD;W_D;W_S;Poly_M_TEMP;TF_M_TEMP 
;s;DegC;W/m2;Deg;m/s;DegC;DegC 
[Start] 
00:15:00;900;26.1;55.8;5.5;1.0;; 
00:30:00;900;26.1;55.8;6.1;1.0;; 
00:45:00;900;26.1;55.9;5.7;0.9;; 
01:00:00;900;26.1;55.9;5.8;0.7;; 
01:15:00;900;26.1;55.8;6.4;0.8;; 
01:30:00;900;26.1;55.8;6.1;0.8;; 
01:45:00;900;26.1;55.8;5.7;1.0;; 
02:00:00;900;26.0;55.8;5.8;1.1;; 
02:15:00;900;25.9;55.9;5.4;1.1;; 
02:30:00;900;25.8;55.9;5.9;0.9;; 
02:45:00;900;25.8;55.9;8.0;1.0;; 
03:00:00;900;25.8;55.8;7.2;0.9;; 
03:15:00;900;25.7;55.8;11.1;0.7;; 
03:30:00;900;25.6;55.9;8.5;1.0;; 
03:45:00;900;25.7;55.8;6.8;1.1;; 
04:00:00;900;25.7;55.8;6.8;0.9;; 
04:15:00;900;25.7;55.8;7.0;0.9;; 
04:30:00;900;25.6;55.8;6.6;0.6;; 
04:45:00;900;25.7;55.8;6.3;0.5;; 
05:00:00;900;25.6;55.8;6.1;0.5;; 
05:15:00;900;25.5;55.8;5.6;0.8;; 
05:30:00;900;25.5;55.8;5.0;0.6;; 
05:45:00;900;25.5;55.8;5.2;0.7;; 
06:00:00;900;25.5;55.8;5.1;0.7;; 
06:15:00;900;25.4;55.8;5.5;0.6;; 
06:30:00;900;25.4;55.8;6.1;0.6;; 
06:45:00;900;25.4;55.8;5.9;0.6;; 
07:00:00;900;25.4;55.8;6.1;0.7;; 
07:15:00;900;25.3;55.8;6.2;0.9;; 
07:30:00;900;25.4;55.8;5.8;0.9;; 
07:45:00;900;25.5;57.4;6.1;0.8;; 
08:00:00;900;25.7;68.7;5.9;0.8;; 
08:15:00;900;26.0;85.5;6.1;0.8;; 
08:30:00;900;26.2;95.5;5.6;0.9;; 
08:45:00;900;26.4;110.5;5.5;1.0;; 
09:00:00;900;26.8;137.7;5.7;1.2;; 
09:15:00;900;27.4;175.7;5.6;1.3;; 
09:30:00;900;28.1;223.1;6.0;1.6;; 
09:45:00;900;28.7;275.1;5.9;1.9;; 
10:00:00;900;29.5;317.7;6.1;2.5;; 
10:15:00;900;31.3;633.4;6.3;2.8;; 
10:30:00;900;31.4;601.3;6.0;3.0;; 
10:45:00;900;32.6;719.6;6.4;3.1;; 
11:00:00;900;32.6;695.0;6.5;2.9;; 
11:15:00;900;32.8;656.7;6.7;2.5;; 
11:30:00;900;33.3;755.1;6.6;2.7;; 
11:45:00;900;33.5;773.4;6.4;2.7;; 
12:00:00;900;34.0;912.4;6.1;3.0;; 
12:15:00;900;34.0;842.2;5.9;3.2;; 
12:30:00;900;34.1;594.6;6.5;2.3;; 
12:45:00;900;33.7;755.2;7.2;2.6;; 
13:00:00;900;34.2;560.3;6.1;2.5;; 
13:15:00;900;33.4;437.0;6.9;2.2;; 
13:30:00;900;32.7;411.4;6.2;2.7;; 
13:45:00;900;32.9;296.0;7.1;1.8;; 
14:00:00;900;32.1;289.3;6.9;2.5;; 
14:15:00;900;33.2;441.0;6.2;2.1;; 
14:30:00;900;31.8;275.0;5.9;2.6;; 
14:45:00;900;31.1;206.9;6.7;2.6;; 
15:00:00;900;31.0;294.3;6.1;2.1;; 
15:15:00;900;33.7;750.2;6.2;2.8;; 
15:30:00;900;35.0;729.4;6.6;2.6;; 
15:45:00;900;33.4;480.6;6.1;3.2;; 
16:00:00;900;33.5;502.6;6.8;3.0;; 
16:15:00;900;33.1;391.8;6.6;2.3;; 
16:30:00;900;33.3;490.9;6.7;2.8;; 
16:45:00;900;33.2;419.9;6.6;2.7;; 
17:00:00;900;31.2;168.5;6.2;2.7;; 
17:15:00;900;30.5;147.6;6.5;2.8;; 
17:30:00;900;30.0;96.0;7.3;2.0;; 
17:45:00;900;28.0;58.0;14.4;2.1;; 
18:00:00;900;25.2;57.0;20.3;3.1;; 
18:15:00;900;23.7;58.0;19.7;2.6;; 
18:30:00;900;23.5;55.9;19.6;1.9;; 
18:45:00;900;23.8;55.8;23.4;1.2;; 
19:00:00;900;24.1;56.5;18.6;0.5;; 
19:15:00;900;24.4;57.6;17.7;0.3;; 
19:30:00;900;24.8;56.8;9.7;0.3;; 
19:45:00;900;25.1;55.8;5.4;0.4;; 
20:00:00;900;25.0;55.8;7.8;0.3;; 
20:15:00;900;25.2;55.8;6.7;0.5;; 
20:30:00;900;25.2;55.8;5.9;0.8;; 
20:45:00;900;25.2;55.8;5.6;0.8;; 
21:00:00;900;25.0;55.8;5.6;1.0;; 
21:15:00;900;24.9;55.8;5.7;1.3;; 
21:30:00;900;24.9;55.8;5.8;1.2;; 
21:45:00;900;24.9;55.8;5.7;1.0;; 
22:00:00;900;25.0;55.8;6.0;0.8;; 
22:15:00;900;25.0;55.8;6.0;0.9;; 
22:30:00;900;25.0;55.8;5.9;1.0;; 
22:45:00;900;25.0;55.7;6.1;0.6;; 
23:00:00;900;25.0;55.8;5.2;0.4;; 
23:15:00;900;25.2;55.8;5.7;0.5;; 
23:30:00;900;25.3;55.8;6.2;0.5;; 
23:45:00;900;25.4;55.8;5.8;0.4;; 
24:00:00;900;25.3;55.8;4.5;0.4;; 

때 내 파이썬에서 모듈을 실행 에 ValueError : 기본 10 INT()에 대한 유효하지 않은 문자 : '[정보] R'내 txt 파일에서

내가 6 열을 가지고, 내지 컬럼하는 를 선택할 수있는 방법은 오류가 말한다 그래프로 그려지는 umn?

+0

사용'sepfile [6 :] '의 데이터로 시작하는 DF가 dataframe되면서

. 첫 번째 행은'06 : 15 : 00'과 같은 시간입니다. 왜 그것을 int로 변환하고 싶습니까? – yoopoo

+0

여기서 sepFile [6 :] :'에 plotPair에 sepfile [6 :] –

+0

'을 넣을 수 있지만 time으로 변환하기 때문에 오류가 발생합니다. – yoopoo

답변

2
import matplotlib.pyplot as plt 
from datetime import time, datetime 

x = [] 
y = [] 
t = [] 

fig = plt.figure() 
rect = fig.patch 
rect.set_facecolor('#31312e') 

readFile = open('data.txt', 'r') 
sepFile = readFile.read().split('\n') 
readFile.close() 

for idx, plotPair in enumerate(sepFile): 
    if idx > 5: 
     xAndY = plotPair.split(';') 
     time_string = xAndY[0] 
     time_string = time_string.replace(' ', '') # remove blanks 
     datetime_obj = datetime.strptime(time_string, '%H:%M:%S') 
     t.append(datetime_obj) 
     x.append(float(xAndY[2])) 
     y.append(float(xAndY[3])) 

ax1 = fig.add_subplot(1, 1, 1, axisbg='blue') 
ax1.plot(t, y, 'c', linewidth=3.3) 

plt.show() 

당신은 첫 6 개 헤더 행을 무시해야합니다. 이 목적으로 if idx > 5:을 사용하고 있습니다.

인쇄 할 열을 [2][3]으로 변경했습니다. 첫 번째 열을 플롯하려면 문자열에 :을 처리해야합니다.

문자열을 숫자로 변환하기 위해 int()float()으로 변경했습니다. 해당 측면에 대한 자세한 내용은 Parse String to Float or Int

now datetime을 참조하십시오. 이 24:00:00으로 판다 0시 0분 0초

2

으로 데이터 파일에 3 줄 기록한다 : 그러나

import pandas as pd 
df = pd.read_table("file",skiprows=6, sep=";", index_col=0, 
        parse_dates=True, header=None, 
        names=["Interval","AMB_TEMP","IRAD","W_D","W_S","Poly_M_TEMP","TF_M_TEMP"] 
df.AMB_TEMP.plot() 
  • skiprows 먼저 6을 생략 할 수있게 행
  • index_col 및 parse_date, 첫 번째 열을 색인으로 만들고 다음과 같이 구문 분석합니다.
  • names : 헤더가 없으므로 열 이름입니다.

다음에, 컬럼 AMB_TEMP의 플롯 수 있었다 :

df.ix[:,1:5].plot() 

는 W_S에 AMB_TEMP에서 열을 플롯 할 수 있습니다.

df.head() 

        Interval AMB_TEMP IRAD W_D W_S Poly_M_TEMP \ 
2014-07-22 00:15:00  900  26.1 55.8 5.5 1.0   NaN 
2014-07-22 00:30:00  900  26.1 55.8 6.1 1.0   NaN 
2014-07-22 00:45:00  900  26.1 55.9 5.7 0.9   NaN 
2014-07-22 01:00:00  900  26.1 55.9 5.8 0.7   NaN 
2014-07-22 01:15:00  900  26.1 55.8 6.4 0.8   NaN 

        TF_M_TEMP 
2014-07-22 00:15:00  NaN 
2014-07-22 00:30:00  NaN 
2014-07-22 00:45:00  NaN 
2014-07-22 01:00:00  NaN 
2014-07-22 01:15:00  NaN