PYTHON/Python

Python 컬럼(column) 기초 정리(컬럼명 추출, 변경, 추가 및 삭제, 순서 변경)

진리뷰 2024. 4. 15. 09:00
반응형

 

 

 

Python-컬럼(column)-기초-정리(컬럼명추출,변경,추가및삭제,순서변경)-썸네일
Python 컬럼 기초 정리

 

 

 

이 글은 Python 컬럼(column)명 추출 / 컬럼명 변경 / 컬럼 추가 및 삭제 / 컬럼 순서 변경 등 컬럼 기초 정리를 담고 있습니다.

 

 

 

Python 컬럼(column)

 

  • 파이썬의 판다스(Pandas) 라이브러리의 2차원 데이터를 다루는 데이터프레임의 열(column, 컬럼)
  • 데이터프레임은 2차원 자료 구조 형태(=엑셀 시트, 테이블, 행+열)

 

아래 데이터프레임에서 product_nm, price가 컬럼이다.

(index) product_nm price
0 apple 1300
1 banana 1000
2 orange 1500

 

 

 

Python 컬럼명 추출

 

  • 데이터프레임명.columns
import pandas as pd

# 데이터프레임 모든 컬럼명
df.columns

 

사진 속 데이터프레임(=df)을 예시로 컬럼명을 추출해 보자.

df.info()로 데이터프레임의 정보를 확인할 수 있는데, 8개의 컬럼이 있다.

 

 

python-dataframe-info
python info()

 

 

df.columns를 사용하니, 데이터프레임의 모든 컬럼명이 반환되었다.

python-dataframe-columns
python columns

 

 

 

Python 컬럼명 변경

 

파이썬은 두 가지 컬럼명 변경 방법이 있다. 

 

 

 

rename() 활용

 

  • 데이터프레임명.rename(columns = {'기존 컬럼명' : '새 컬럼명'})
  • 이 방법은 모든 컬럼명 변경보다, 특정 컬럼명만 변경하고 싶을 때 유용.

 

아래 두 코드의 결과물은 같으므로, 편한 방법으로 사용하면 된다.

# 특정 컬럼명 변경
df = df.rename(columns={'Store' : 'Stored_id'})

# 특정 컬럼명 변경
df.rename(columns={'Store' : 'Store_id'}, inplace=True)

 

    rename함수로 컬럼명을 변경한 결과이다.

python-dataframe-rename1python-dataframe-rename2
(좌) 기존 컬럼명, 변경 전 /  (우) 새 컬럼명, 변경 후

 

 

 

리스트 활용

 

  • 데이터프레임명.columns = ['새 컬럼명', '새 컬럼명', ...]
  • 데이터프레임의 모든 컬럼명 변경에 사용
  • 이때 컬럼명을 "모두 순서대로" 입력해야 하며, 변경을 원치 않는 컬럼명은 기존 컬럼명 그대로 입력한다.
  • 입력한 순서에 일치하는 컬럼의 이름이 변경되기에, 순서에 유의하자.
# 모든 컬럼명 변경
df.columns = ['store_id', 'date', 'weekly_sales', 'holiday_falg', 'temp', 'fule_price', 'cpi', 'unemployment']

 

 

대문자인 첫 글자를 소문자로, Temperature는 temp로 바꿔보자.

 

python-dataframe-columns1
기존 컬럼명, 변경 전

 

 

python-dataframe-columns2
새 컬럼명, 변경 후

 

 

 

Python 컬럼 추가/삭제

 

컬럼 추가 시, 마지막 순서에 추가되는 것이 일반적이다.

하지만 특정 순서에 추가하는 방법도 있다.

컬럼 삭제 시, 하나의 컬럼과 여러 컬럼을 삭제하는 방법이 있다.

 

 

 

컬럼 추가

 

  • 데이터프레임명['추가할 컬럼명'] = 추가할 컬럼의 값
# 새 컬럼 추가
df['daily_sales_avg'] = df['weekly_sales'] / 7

 

 

데이터프레임(df)에 새 컬럼(daily_sales_avg)을 추가한 결과이다.

 

python-dataframe-컬럼추가
python 컬럼 추가

 

 

 

insert() 활용

 

  • 데이터프레임명.insert(추가하려는 순서 값, 추가할 컬럼명, 추가할 컬럼 값)
  • 컬럼 추가 시, 순서 설정에 사용
  • 추가하려는 순서 값은 컬럼 인덱스(0, 1, 2...) 값을 입력한다.
  • 파이썬 인덱스는 첫 번째가 0부터 시작한다.
# 컬럼 추가 시, 순서 설정
df.insert(3, 'daily_sales_avg', df['weekly_sales'] / 7)

 

아래는 4번째(=3)에 새 컬럼(daily_sales_avg)를 추가한 결과이다.

 

python-dataframe-컬럼-추가-insert
python 컬럼 추가 위치 설정

 

 

 

컬럼 삭제

 

  • 데이터프레임명.drop('삭제할 컬럼', axis=1)
  • drop 함수 사용 시, axis =1은 컬럼을 삭제한다는 의미이다.
# 한 개의 컬럼 삭제
df = df.drop('daily_sales_avg', axis=1)

# 한 개의 컬럼 삭제
df.drop('daily_sales_avg', axis=1, inplace=True)

 

위에서 생성했던 daily_sales_avg 컬럼을 삭제한 결과이다.

 

pythone-dataframe-컬럼-삭제-drop
python 컬럼 삭제

 

 

  • 데이터프레임명.drop(['삭제할 컬럼1', '삭제할 컬럼', ...], axis=1)

아래는 여러 개의 컬럼을 삭제한 결과이다.

# 여러 컬럼 삭제
df = df.drop(['cpi', 'unemployment'], axis=1)

# 여러 컬럼 삭제
df.drop(['cpi', 'unemployment'], axis=1, inplace=True)

 

pythone-dataframe-컬럼-삭제-drop2
python 여러 컬럼 삭제

 

 

 

컬럼 순서 변경

 

컬럼 순서 변경에는 두 가지 방법이 있다.

 

 

 

reindex() 활용

 

  • 데이터프레임명.reindex(columns=['컬럼명', '컬럼명', ...])
  • 컬럼명 변경의 유의점과 똑같이, 입력 순서와 변경될 컬럼의 순서가 일치하기에 순서에 유의하며 입력하자.
  • 모든 컬럼의 순서를 다루기에, 컬럼명을 생략하면 삭제된다.
  • 따라서 순서 변경을 원치 않는 컬럼은 기존 순서와 똑같이 입력하자.

 

python-dataframe-reindex1
python 컬럼 순서 변경 전

 

 

아래는 컬럼 순서 변경과 동시에, 입력하지 않은 컬럼들은 삭제된 결과이다.

# 컬럼 순서 변경
df = df.reindex(columns=['date', 'stored_id'])

 

python-dataframe-reindex2
python 컬럼 순서 변경 후

 

 

 

리스트 활용

 

  • 데이터프레임명[['컬럼명', '컬럼명', ...]]
  • 순서 변경하려는 컬럼을 원하는 순서에 입력하면 된다.

 

아래는 컬럼 순서를 변경한 결과이다.

# 컬럼 순서 변경
df = df[['date', 'store_id']]

 

python-dataframe-컬럼-순서-변경1
(좌) python 컬럼 순서 변경 전  /  (우) python 컬럼 순서 변경 후

 

반응형
top