기본적인 데이터 전처리의 과정을 하기전 데이터를 불러오는 방법부터 알아보자.
PAANDS 공식 Ref. pandas.read_csv
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
확인을 하면 굉장히 많은 파라미터가 있지만, 주로 쓰게 되는 파라미터 위주로 정리.
- pd.read_csv('data(해당url 혹은 디렉토리내 파일path)', sep=';', encoding='CP949')
- sep = ','
str, 기본값은 콤마 ‘,’ csv구분 기호 ('|' ,'\t')및 공백 여부 체크후 파라미터 지정 해줄것 - encoding = 'CP949'
기본 인코딩 = 'utf-8', 공공데이터 인코딩 = 'CP949' (옆의 것이 안되면 encoding='latin' ('ISO-8859-1' 의 alias 시도)) - usecols = ['사용할', '데이터', '컬럼이름','만불러온다'] list-like or callable, optional
df = pd.read_csv('./data.csv', sep=',', encoding='cp949', usecols=['측정일시', '측정소명', '오존(ppm)'])
- index_col= '원하는 column명' int, str, sequence of int / str, or False( index_col=False can be used to force pandas to not use the first column as the index), default None
index_col=0 (위치)이나 index_col='ID' 처럼 직접 변수 이름을 지정 - skiprow = [5] slist-like, int or callable, optional
원하는 행부터 불러올때 스킵을 할 행까지를 지정해준다.
skiprow = [0] >>> 1번 row부터 출력 / skiprow = [5] >>> 6번row 부터 출력 - nrows = n
위에서 부터 n개의 행만 불러온다
pd.read_csv('../input/sample_submission.csv',skiprows=5, nrows = 10) # 위에서 5개행 스킵하고 6번째 행에서 10개의 행만 출력됨
- header = 0 , names = ['헤더', '이름', '지정']
cols = ['NEW1', 'NEW2', 'NEW3'] df = pd.read_csv('test.csv', header=0, names=cols, usecols=['NEW2', 'NEW3'])
- dtype = {"dict" : 형}으로각 컬럼별로 데이터(value)유형을 짝을 지어서 명시적으로 설정 할 수 있다.
df = pd.read_csv('data.csv',dtype = {"ID": int, "LAST_NAME": str, "AGE": float})
- parse_dates=["date"] bool or list of int or names or list of lists or dict, default False
['date'] 칼럼에 대해 날짜 시간 포맷으로 변경 해준다.
dayfirst=True 일이 월보다 먼저 위치하는 것 월/ 일로 하고싶으며 False값
yearfirst = True 년도가 먼저 위치하는것
infer_datetime_format=True 날짜시간 포맷 추정해서 파싱하기
df_date_dayfirstF = pd.read_csv("date_sample", sep=",", names=['date', 'id', 'val'], parse_dates=['date'], dayfirst=False, yearfirst=True, infer_datetime_format=True) # 원본값 = 05-01-2020 결과 값 - 2020-01-05 #lamda 함수로 지정하는 방법은 필요시 찾아볼것 keyword ==> lambda x: datetime.strptime
- sep = ','
- DataFram 을 불러오고 column의 헤더값을 재정의 해줘야 하는경우
new_header = df.iloc[0] # grab the first row for the header df = df[1:] # take the data less the header row df.columns = new_header # set the header row as the df header
'Computer Science > 파이썬' 카테고리의 다른 글
[Python] 가설검정1 - Student T-test (0) | 2021.06.20 |
---|---|
[Python] 데이터 전처리 3 - DataFrame 슬라이스 (인덱서 loc, iloc) (0) | 2021.06.09 |
[Python] Feature Engineering 1 - DataFrame manipulation (단순 합계 column생성, string to numeric with replace def, Concat, Merge, Join) (0) | 2021.06.08 |
[Python] 데이터 전처리 2 - 중복값 확인 및 처리 (0) | 2021.06.07 |
[Python] 데이터 전처리 1 - 결측치 확인 및 처리 (0) | 2021.06.07 |