더 많은 분석을 수행 할 수 있도록 간단한 스크립트를 작성하여 포트란 코드의 CSV 출력 파일을 팬더 DataFrame 개체로 변환하려고합니다. csv에는 두 개의 열이 있지만 모양이 [n, 2] 인 데이터의 여러 추가 블록으로 구성됩니다 (각 샘플 이름의 형식은 RN_x입니다). 지금까지 다음 코드가 있지만 결과 DataFrame 개체는 분석을 허용하지 않습니다. 아래 샘플 파일 (원본에서 많이 줄임)을 첨부했습니다. 덧붙여서 데이터 파일의 첫 번째 열은 날짜를 의미하지만 출력은 si = imulation의 하루에 해당하는 숫자입니다. 모든 조언을 많이 주시면 감사하겠습니다.numpy 또는 pandas를 사용하여 긴 형식의 CSV 파일 조작
import numpy as np
import pandas as pd
import csv as csv
readdata = csv.reader(open('C:/data/Test.csv', 'r'))
data = []
for row in readdata:
data.append(row)
a = np.array(data).reshape(11,-1, order = 'F')
col = a[0,:4].reshape(4)
row = pd.Index(a[4:,0:1].reshape(7))
b = a[4:,5:]
df = pd.DataFrame(b, index = row, columns = col)
샘플 :
RN_48865,
1,Observed
1,0
259,Computed
1,0.000014
91,0.000014
182,0.000014
274,0.000014
366,0.000014
457,0.000014
548,0.000014
RN_7445,
1,Observed
1,0
259,Computed
1,0.000013
91,0.000013
182,0.000013
274,0.000013
366,0.000013
457,0.000013
548,0.000013
RN_9288,
1,Observed
1,0
259,Computed
1,0.000011
91,0.000011
182,0.000011
274,0.000011
366,0.000011
457,0.000011
548,0.000011
RN_10955,
1,Observed
1,0
259,Computed
1,0.000014
91,0.000014
182,0.000014
274,0.000014
366,0.000014
457,0.000014
548,0.000014
샘플 출력 :
Index,RN_48865,RN_7445,RN_9288,RN_10955
1,0.000014,0.000013,0.000011,0.000014
91,0.000014,0.000013,0.000011,0.000014
182,0.000014,0.000013,0.000011,0.000014
274,0.000014,0.000013,0.000011,0.000014
366,0.000014,0.000013,0.000011,0.000014
457,0.000014,0.000013,0.000011,0.000014
548,0.000014,0.000013,0.000011,0.000014
그래서 질문은 무엇인가? – cyborg
죄송합니다. 명확하지 않았습니다. 긴 파일을 인덱스 (기본 날짜에 숫자를 추가 한 구문 분석 된 날짜, 예를 들어 1995-1-1; 첫 번째 데이터 열)와 함께 두 번째 열의 데이터로 채워진 여러 열로 Dataframe 개체로 변환하려면 어떻게해야합니까? "RN_x"레이블을 열 레이블로 사용하십시오. 원래의 긴 파일에는 합계의 다른 '위치'에 출력을 나타내는 데이터 블록이 반복되어 있습니다. 각 위치에 대한 통계를 분석 할 수 있기를 원합니다. – user2989613
"RN_x"레이블을 열 레이블로 사용하여 두 번째 열의 데이터로 채워지는 "여러 열"을 이해하지 못합니다. " 왜 단순히 데이터를 표시하지 않는가? (\ n's)? – cyborg