Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- kt에이블 스쿨 #kt #공모전 #DX 후기 # DX 3기 # kt 에이블스쿨 DX 3기 # kt 에이블스쿨 3기
- 32회 #ADsP #데이터분석준전문가
- 파이썬 # python # 이변량분석 # 단변량분석 # 시각화 # 수치화
- KT #kt #kt에이블스쿨 #DX #kt aivle 3기 # kt aivle dx # DX후기
- 파이썬 #python #리스트 #리스트 컴프리헨션 #딕셔너리 #메소드
- python #파이썬 #판다스 #pandas #가변수화 #get_dummies #범주화
- 에이블후기
- 머신러닝 #ML #copysheet # ML copysheet #머신러닝 copysheet
- Auto ML
- 파이썬 #python #class
- KT에이블스쿨 3기 #DX과정 #인적성 #
- KT에이블스쿨 #DX #DX 3기 #후기 #기자단 #에이블 기자단
- KT에이블스쿨 #에이블 #DX #3기
- ADsP #데이터분석준전문가
- KT에이블스쿨
- 파이썬 #python #함수 #내장함수 #예외처리
- 파이썬 #python #numpy #array #배열 #인덱싱 #슬라이싱
- IT 인프라 #서브넷 #7계층 #OSI #TCP #IT Infra
- randomsearch
- Image Data Augmentation #
- Python #파이썬 #판다스 #pandas #선형보간법 #결측치처리
- 파이썬 #python #DataFrame #pandas #판다스
- Softmax
- 하이퍼파라미터 최적화
- ADsP #데이터준전문가
- python #pandas #판다스 #파이썬 #DataFrame #데이터탐색 #데이터 조회 #데이터 집계 #jupyter lab #jupyter notebook
- cnn #keras #딥러닝 # EarlyStopping #
- KT에이블스쿨 #aice합격후기 #aice associate # aivle합격
- argmax #다중분류
- batch normalization
Archives
- Today
- Total
파이썬 하는 파이리
PYthon_판다스(pandas)_(3) 본문
1. 데이터 변경하기
1- 1. 열삭제
- df.drop()메소드 사용
이전글과 마찬가지로 superstore데이터 사용
#열삭제
#Country,Postal Code삭제
store.drop(['Country','Postal Code'], axis=1,inplace=True) #inplace는 바로 반영한다는 뜻.
store.head()
1- 2 열 이름 바꾸기
- rename(columns={ : })
#Segment 열이름 바꾸기 class로
store.rename(columns={'Segment' : 'Class'},inplace=True)
store.head()
※ 범주값을 숫자로 변경하기(알고만 있자) => 가변수화 사용할거니까
# 타이타닉 데이터로 Sex컬럼의 male=1, female=0 으로 변경
# 범주값이 (남,여),(yes,no)처럼 두개일땐 map함수로 가능
# 하지만 다시 독립된 열로 변경하는 과정이 필요
# 가변수화가 한번에 가능 => 가변수화 사용
# 알고만 있자
titanic['Sex'] = titanic['Sex'].map({'male': 1 , 'female':0})
1- 3 새로운 열 추가
- 그냥 더하면 됨
# profit, sales 합인 ex열 추가
store['ex']=store['Profit']+store['Sales']
store.head()
1- 4 범주값 만들기(연속값을 범주로)
- 범주값 만들기
- 연속값을 구간으로 나누어 표현 (이산화)
- cut()함수 => 크기를 기준으로 구간 나누기 범위 개수를 지정하면 자동으로 크기를 나눈다.
- 구간마다 들어가는 개수는 다르다.
# store 크기를 기준으로 Quantity를 4구간(a ~ d)으로 나누기
store['store_grp'] = pd.cut( store['Quantity'] , 4 ,labels=list('abcd') )
# (]==> (는 포함하지 않음
store.head()
- 경계값을 직접 지정해서도 만들 수 있다. (4분위수로 경계값 지정)
# 등급 구하기 4분위수의 경계값.
q1 = store['Quantity'].describe()['25%']
q2 = store['Quantity'].describe()['50%']
q3 = store['Quantity'].describe()['75%']
my_bin = [-np.inf, q1, q2, q3, np.inf]
my_label = ['a', 'b', 'c', 'd']
store['store_grp2'] = pd.cut(store['Quantity'] ,bins=my_bin, labels=my_label )
# 확인
store['store_grp2'].value_counts()
- 개수를 기준으로 구간을 나누고 싶을 때 qcut() 함수를 사용.
- 구간 개수를 지정하면 자동으로 동일한 개수를 갖는 구간이 만들어집니다.
- 사분위수로 직접 나눈것과 동일한 결과
store['store_grp3'] = pd.qcut( store['Quantity'] ,4 ,labels=list('abcd') )
# 확인
store.head()
1- 5. 가변수화
- 일정하게 정해진 범위의 값을 갖는 범주형 데이터를 독립된 열로 변환
- 범주형 문자열 데이터를 숫자로 바꾼다(머신러닝 돌릴때 필요)
- get_dummies()
- 다중공선성 문제를 없애기 위해 drop_first=True 옵션을 지정
- 다중공선성이란 ? : 독립변수들 간의 높은 선형관계가 존재하는것. 회귀분석의 전제를 위배
- 자동으로 원본 열이 제거되고, 열 이름이 prefix로 사용
# 똑같이 superstore를 새롭게 선언
df = pd.read_csv('C:\\Users\\User\\data\\SampleSuperstore.csv',encoding='CP949')
#데이터 타입을 확인해서 범주형 데이터를 선택
df.info()
#'Ship Mode','Segment' 컬럼을 가변수화
df = pd.get_dummies(df, columns=['Ship Mode','Segment'], drop_first=True)
df.head()
'프로그래밍 > python' 카테고리의 다른 글
Python_ 클래스 (class) (0) | 2023.03.26 |
---|---|
Python_판다스(pandas)_(4) (0) | 2023.02.25 |
Python_판다스(pandas)_(2) (0) | 2023.02.11 |
Python_판다스(pandas)_(1) (0) | 2023.02.11 |
Python_배열(numpy) (0) | 2023.02.11 |
Comments