반응형
import pandas as pd
X_train = pd.read_csv("data_atype/X_train.csv")
X_test = pd.read_csv("data_atype/X_test.csv")
y_train = pd.read_csv("data_atype/y_train.csv")
# 데이터 내용 간단확인
print(X_train.head())
print(X_train.sample(3))
# 데이터 행,열 갯수 확인
print(X_train.shape)
# 데이터 타입 확인
print(X_train.info())
#수치형 컬럼통계값 확인
print(X_train.describe())
#age에 마이너스값 있다 ㅡ> 이상해보임!! 등등을 확인해라.
#범주형 컬럼통계값 확인
print(X_train.describe(include='O'))
# count: 결측치 제외 몇개
# unique:고유값 개수
# top : 최빈값 데이터
# freq : 최빈값의 개수
#test데이터도 확인해보기
#범주형데이터는 train 데이터와 test 데이터의 범주값이 동일한지 확인하기 #개수 뿐만 아니라 데이터 내용까지 동일해야함
print(X_test.describe())
print(X_test.describe(include='O'))
#차이가 있고없고에 따라 feature engineering에서 작업이 조금 달라질 수 있기 떄문.
print(X_train.isnull().sum())
print(X_test.isnull().sum())
print("==========================")
print(y_train.head())
print(y_train['income'].value_counts())
print(X_train.corr(numeric_only=True))
# corr 또한 numeric_only = True 를 써주어야함
import pandas as pd
import numpy as np
data_train = pd.read_csv('data_btype/train.csv')
train = pd.DataFrame(data_train)
print(train.head(3))
data_test = pd.read_csv('data_btype/test.csv')
test = pd.DataFrame(data_test)
print(test.head(3))
print(train.shape, test.shape)
# (29304,16), (3257,15)
# 컬럼 개수가 다르게 주어지는 적이 많다고함
print(train['income'].value_counts())
# 조건별 인컴수준 확인
cond0 = train['income'] == '<=50K'
cond1 = train['income'] == '>50K'
cond_female = train['sex'] == 'Female'
cond_male = train['sex'] == 'Male'
print(len(train[cond_male]),
len(train[cond_female]))
print(len(train[cond_male & cond0]),
len(train[cond_male & cond1]),
len(train[cond_female & cond0]),
len(train[cond_female & cond1]),
sep='\n')
print( len(train[cond_male & cond0])/len(train[cond_male]) )
print( len(train[cond_male & cond1])/len(train[cond_male]) )
print(len(train[cond_female & cond0])/len(train[cond_female]))
print(len(train[cond_female & cond1])/len(train[cond_female]))
X_train_data = pd.read_csv('data_atype/X_train.csv')
y_train_data = pd.read_csv('data_atype/y_train.csv')
X_train = pd.DataFrame(X_train_data)
y_train = pd.DataFrame(y_train_data)
print(train.shape, X_train.shape, y_train.shape)
print(y_train.head(1))
# X_train, y_train 합치기
df = pd.concat([X_train, y_train['income']],axis=1)
print(df.shape)
print(df.head())
#concat 연습필요함.
#axis=1 하면 맨오른쪽에 붙음
X_tr = train.iloc[:,:-1].copy()
y_tr = train.iloc[:,[0,-1]].copy()
#copy 안붙이고 X_tr 만든 후에 X_tr에 뭔가 작업을 하면 train에는 안 변한다고 warning 뜬다.
#그러므로 copy()를 항상 명시적으로 해주자.
print(X_tr.shape, y_tr.shape)
print(X_tr.head())
print(y_tr.head())
반응형
'IT,SW,Data,Cloud,코딩 > Python' 카테고리의 다른 글
2023년6월9일 머신러닝-Regression (0) | 2023.06.10 |
---|---|
2023년6월8일 파이썬공부 - 머신러닝 기초 프로세스 (0) | 2023.06.08 |
2023년6월7일 파이썬공부 - 피쳐엔지니어링 (0) | 2023.06.07 |
2023년6월7일 파이썬공부 - 데이터전처리 (1) | 2023.06.07 |
2023년6월6일 머신러닝 요약 (0) | 2023.06.06 |
2023년6월6일 판다스공부 (0) | 2023.06.06 |
2023년6월5일 판다스공부 (0) | 2023.06.06 |
2023년6월5일 파이썬공부 - 퇴근후딴짓님의 인프런 강의 따라치면서 배우기 (0) | 2023.06.05 |
댓글