데이터분석/전처리 31

[판다스 데이터프레임] group by

groupby [] 사용 df.groupby(["a","b"])["a"].count() => a를 기준으로 b의 도메인별 개수를 보여준다 (example 1) df.groupby(['Survived','Pclass'])['Survived'].count() Survived Pclass 0 1 80 2 97 3 372 1 1 136 2 87 3 119 Name: Survived, dtype: int64 (example 2) df.groupby(['Pclass','Survived'])['Survived'].count() Pclass Survived 1 0 80 1 136 2 0 97 1 87 3 0 372 1 119 Name: Survived, dtype: int64 groupby agg 사용 df.group..

csv 데이터를 특정 형식으로 read하기 (pandas read_csv, usecols, dtype)

read_csv 판다스의 모듈 중, csv파일을 읽어 데이터프레임 타입으로 반환하는 read_csv라는 함수가 있다. data_frame = pd.read_csv() 함수의 파라미터 중 데이터의 타입을 지정하여 받을 수 있는 것이 있어서 이를 살펴본다 usecols usecols파라미터는 csv파일에서 사용할 컬럼을 지정한다. data_type = {"f_1":'float16', "f_2":'float16'} df = pd.read_csv(folder_path + "/train.csv", usecols = data_types_dict.keys(), ) dtype dtype 파라미터는 컬럼이름을 key로, 데이터타입을 value로 하는 dictionary 객체를 넣는다. data_type = {"f_1":..

train_test_split 데이터 나누기

train_test_split from sklearn.model_selection import train_test_split 데이터셋을 나눠주는 train_test_split 에 대해서 알아본다. 옵션값 x_train, x_valid, y_train, y_valid = train_test_split(train_x, train_y, test_size=0.2, shuffle=True, stratify=train_y, random_state=42) 1. test_size : test 사이즈의 비율 2. shuffle : split하기 전 섞을것인지 3. stratify : class label의 비율을 맞춰서 split할것인지 4. random_state : 실행할 때 마다 똑같이 섞을것인지 다르게 섞을것인지..

데이터프레임의 iloc, loc

개요 데이터프레임에서 특정행과 열을 출력하고싶을 때 사용하는 iloc와 loc 사용법을 알아 본다. 데이터프레임은 아래와 같다. 인덱스는 아래와 같이 지정한 상태 df.set_index("Unnamed: 0",inplace=True) df.iloc - 하나의 값 행과 열을 인덱스번호 로 접근할 수 있다. 1. 인덱스번호로 행 출력 df.iloc[0] 2. 인덱스번호로 행 출력(괄호 두개쓰면 데이터프레임형태) df.iloc[[0]] 3. 인덱스번호로 행, 열번호로 출력 df.iloc[0][0] 75616.0 4. 인덱스번호로 행, 컬럼명으로 열 출력 df.iloc[0]["전국[호]"] 75616.0 df.iloc - 여러개의 값 1. 여러개의 row번호로 출력 train_x.iloc[[1,2,3]] 2...