일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Python
- github
- 모각코
- 데이터분석
- Ai
- 정처기
- 백준
- KT
- AI 윤리
- 알고리즘
- 정처기 실기
- 데이터과학
- 파이썬
- 인공지능
- Java
- 데이터
- AI학습
- LG Aimers
- dictionary
- git
- KT AIVLE
- 코딩
- AIVLE
- 코딩테스트
- ai 전문가 과정
- numpy
- list
- 클래스
- pandas
- 자바
Archives
- Today
- Total
무향향수
데이터 처리 본문
분석을 위한 기본구조: 2차원
x: feature
y: target, label
데이터 전처리에는 두 가지 단계가 있다.
1. 데이터 구조 만들기 (행과 열 형태로)
2. 모델링을 위한 전처리 (머신러닝, 딥러닝)
np.where(조건, 참, 거짓)
data['JobSat2'] = np.where(data['JobSat'] < 3, 'unsat', 'sat')
map() 메소드
범주형 값을 다른 값으로 변경하기
# Male -> 1, Female -> 0
data['Gen'] = data['Gen'].map({'Male': 1, 'Female': 0})
열 삭제
삭제할 때는 항상 조심해야한다.
잘못 되었을 때 되돌리기 위한 준비가 필요해!
그래서 복사본을 항상 제작해두자
data2 = data.copy()
drop()
행이나 열을 삭제할 때 사용한다.
삭제할 열이 여러개인 경우 리스트 형태로 작성한다.
행을 삭제 할 때 axis=1, 열을 삭제할 때 axis=0
data2.drop(['Gen', 'PctSalHike', 'TotWY'], axis=1, inplace=True)
pd.cut()
전체 범위를 균등하게 분할하는 방법
값의 범위를 균등 분할하는 것이지, 값의 개수를 균등하게 맞추는 것이 아니다.
# 3 등분으로 분할
age_group = pd.cut(data2['Age'], 3)
(30, 40] 100 인경우
30 < x <= 40 범위내에 있는 값이 100개라는 것을 의미한다.
bins = []
cut()함수에 bins=[]변수를 사용하여 직접 범위를 설정할 수 있다.
PctSalHike = pd.cut(data2['PctSalHike'], bins=[0, 13, 18, 100], labels = ['L', 'M', 'H'])
임의로 범위를 설정할 떄
-np.inf 또는 np.inf를 작성해도 좋다.
예)
PctSalHike = pd.cut(data2['PctSalHike'], bins=[-np.inf, 13, 18, np.inf], labels = ['L', 'M', 'H'])
concat()
axis = 0 일 때 동일한 열에 붙이기 (아래로 값 붙이기)
axis = 1 일 때 동일한 행에 붙이기 (옆에 값 붙이기)
pd.concat([df1, df2], axis = 0, join = 'inner')
pd.concat([df1, df2], axis = 1, join = 'inner')
display()
df를 출력할 때 print()를 사용해도 좋지만
display()를 사용하는 것이 더 보기 좋다.
'kt aivle' 카테고리의 다른 글
CRISP-DM (0) | 2024.02.26 |
---|---|
시계열 (1) | 2024.02.26 |
Python 프로그래밍 & 라이브러리 2 (1) | 2024.02.23 |
1주차 Python 프로그래밍 & 라이브러리 (0) | 2024.02.22 |
데이터 조작 이해와 실무_데이터 변경 (0) | 2024.02.04 |