AI/DataAnalysis

Python_데이터 처리

oaho 2023. 2. 8. 00:13
반응형
데이터프레임 변경
  • 열 이름 변경
  1. columns 속성 변경 : 모든 열 이름 변경

       tip.columns = [ '이름1', '이름2', '이름3']

 

 

 

   2. rename()메소드 사용: 지정한 열 이름 변경

 

       tip.rename(columns={'이름1' : '변경할 이름1', '이름2': '변경할 이름2'}, inplace=True)

 

  • 열 추가
  1. 맨 뒤에 열 추가

     tip['추가할 열'] = tip['기존에 있는열1'] + tip['기존에 있는열2']

 

 

    2. 지정한 위치에 열 추가

 

     tip.insert(1, '추가할 열', tip['기존 열'] / tip['기존 열']) -> 두번째 열에 삽입

 

  • 열 삭제

drop()메소드를 사용해 열 삭제

- axis = 0: 행 삭제(기본 값!)

- axis = 1: 열 삭제

- inplace = False : 삭제한 것처럼 보여줘, True : 진짜 삭제해!

 

# 열 하나 삭제
tip.drop('삭제할 열', axis=1, inplace=True) 
# 열 두개 삭제
tip.drop(['열1', '열2'], axis = 1, inplace = True)
  • 값 변경
  1. 열 전체 값 변경
# tip['tip']의 모든 값을 0으로 바꾸기
tip['tip'] = 0

 

 

  2. 조건에 의한 값 변경 .loc

# tip['tip'] 의 값이 10보다 작을 경우, 0으로 바꾸기
tip.loc[tip['tip'] < 10 , 'tip'] =0

   

  3.  조건에 의한 값 변경 np.where(조건, 참, 거짓)

# tip['tip']의 값이 10보다 작을 경우 0, 아니면 1로 바꾸기
tip['tip'] = np.where(tip['tip'] < 10, 0, 1)

 

4.  범주형 값을 다른 값으로 변경할 때 .map()

# Male -> 1, Female -> 0
tip['sex'] = tip['sex'].map({'Male':1, 'Female':0})

 

 5. pd.cut()

 

 숫자형 변수 -> 범주형 변수

사례 : 나이 -> 나이대, 고객 구매액 -> 고객등급

 

# 크기로 3등분해서 등급 구하기
tip['tip_grp'] = pd.cut(tip['tip'], 3, labels =['c', 'd', 'e'])

* tip['tip]열에 대해서

* 3 : 균등 간격 3등분하고

* labels=['c', 'd', 'e'] : 값을 'c', 'd', 'e'로 바꾸시오.

 

group = pd.cut(data2["PctSalHike"], bins = [0, 13,18, 100], labels =['L', 'M', 'H'])

 * right = True -> 오른쪽 범위 포함 ( 26< <=40)

 * right = False -> 오른쪽 범위 포함 X

 

 

 

데이터프레임 결합

 

데이터 프레임 결합하는 두가지 방법

  1. pd.concat() -> 매핑 기준: 인덱스(행), 칼럼이름(열)
  2. pd.merge() -> 매핑 기준: 특정 칼럼(key)의 값 기준으로 결합

 

 

1. CONCAT  

- 인덱스, 열이름 기준

- 데이터프레임 구조에 맞게 합치기

-> 방향있음

 

 

pd.concat([df1, df2], join = 'outer', axis=1)

 

  • 방향 선택
  • aixs = 0 : 세로(행)로 합치기 (기본값)
  • axis = 1 : 가로(열)로 합치기
  • 방법 선택
  • join = 'outer' : 모든 행과 열 합치기 (기본값)

 

  • join = 'inner' : 매핑되는 행과 열만 합치기

       - axis =0 일 경우 : 같은열로 합쳐짐 !!

       - axis = 1 일 경우 : 같은행으로 합쳐짐!!

 

pd.concat([pop01, pop02], join='outer', axis=1)

 

2. merge

- 특정 열의 값 기준

- 데이터 기준으로 합치기

 

pd.merge(df1, df2, on= '기준열', how= 'inner')

 

-> 방향X, 옆으로 붙힘

 

Pivot

: 집계된 데이터를 재구성할 수 있다.

dataframe.pivot( index, column, values)

반응형

'AI > DataAnalysis' 카테고리의 다른 글

데이터프레임의 데이터의 구성 확인하기  (0) 2023.04.11
결측치 처리  (0) 2023.02.20
Python_웹 크롤링  (0) 2023.02.20
Python_이변량분석  (0) 2023.02.15
Python_시계열 데이터, 시각화라이브러리  (0) 2023.02.09