위 글에서 소개한 데이터를 머신러닝으로 분류하기 앞서, 각 파일로 나뉘어져있는 데이터를 하나로 합쳐보자.
나는 데이터가 담긴 총 6개의 파일이 있고, 각 파일의 Column Head는 모두 동일하다. 이 데이터들에서 조건에 맞는 데이터들만 꺼내어 하나로 합칠 예정이다.
1. 폴더 내 csv 파일 모두 읽어오기
import pandas as pd
import numpy as np
import os
dir = 'C:/Users/ap/Blog_Data Analysis/GearDefection'
files = os.listdir(dir)
k = 0
for i in range(len(files)) :
if 'csv' in files[i] :
k = k+1
globals()["df{}".format(k)] = pd.read_csv(files[i]) #{}에 format 값이 들어간다
os.listdir 을 통해 경로 내 파일을 가져오고, csv 파일만 골라내어 데이터프레임으로 만들었다. 이 때 for 문에 변수를 적용시키기 위해 global() 함수와 format 을 이용하였다.
2. 조건에 맞는 데이터 뽑아오기
min =df1['speedSet'].min()
for i in range(1,6) :
df = globals()["df{}".format(i)]
globals()["data{}".format(i)] = df.loc[(df['speedSet']<=min) & (df['load_value']==0)].copy()
speedSet의 최소값이 숫자가 더러워(...) 그냥 변수로 선언해서 넣었다.
이제 각 파일에서 조건에 맞는 데이터들이 data1, data2...에 담겼다.
이제 이 데이터들을 하나로 합치자.
3. pd.concat() 으로 데이터프레임 합치기
total = pd.concat([data1,data2,data3,data4,data5,data6], ignore_index=True)
total = total.drop('time_x', axis=1) #axis = 0 는 행방향, axis = 1은 열방향
total
drop 함수를 이용해 사용하지 않는 Column을 지워줬습니다.
이제 이 파일을 이용해 머신러닝을 공부해볼 일만 남았습니다.