본문 바로가기
데이터 분석/데이터 전처리

[Pandas] 7. 열 추가/삭제하기

by 부자 꽁냥이 2020. 9. 12.

안녕하세요~~ 꽁냥이에요!

 

데이터를 다루다 보면 기존 데이터에 열을 추가하거나 필요 없는 열을 삭제해야 하는 경우가 발생하는데요.

 

이번 포스팅에서는 데이터에 열을 추가하고 삭제하는 방법에 대해서 알아보려고 해요.


  열 추가하기

먼저 이번 포스팅에서 필요한 데이터를 만들어 줍니다.

 

import pandas as pd

## 데이터 준비
data = {
    'A':['apple','banana','grape'],
    'B':[11,34,22]
}

df = pd.DataFrame(data)

 

 

꽁냥이는 기존 데이터에 'C'라는 열을 추가할 거예요.여기에서는 칼럼을 추가하는 방법 3가지를 소개합니다.

 

1. 각 괄호를 이용하는 방법

 

이 방법은 가장 간단하고 많이 활용되는 방법으로써 아래와 같이 사용합니다.


df ['추가하려는 열 이름'] = 리스트


## C 칼럼 추가하기
df['C'] = ['good','so so', 'not bad']

 

이제 'C'열이 잘 추가되었는지 확인해볼게요.

 

 

'C'라는 열이 맨 마지막에 추가된 것을 확인할 수 있습니다.

 

2. insert 함수를 이용하는 방법

 

첫 번째 방법은 열이 맨마지막에만 붙는다는 단점이 있습니다. 따라서 열을 원하는 위치에 넣고 싶을 때는 다른 방법을 사용해야 합니다. 바로 insert 함수를 사용하는 것이지요. 사용법은 아래와 같습니다.


df.insert('순서 인덱스', '열 이름', 데이터 리스트)


여기서 '순서 인덱스'는 0이상0 이상 기존 열 개수 이하의 값을 가집니다. 기존 열이 2개('A', 'B')가 있었으므로 여기서는 0 이상 2 이하의 값을 가질 수 있지요.

 

## insert 이용하기
df.insert(0,'C',['good','so so', 'not bad'])

 

꽁냥이는 'C'열을 맨 왼쪽에 추가했어요.

 

 

3. assign 함수를 이용하는 방법

 

assign을 이용하는 방법은 아래와 같습니다.


df.assign( 열 이름 = 데이터 리스트)


 

이 방법은 첫 번째 방법과 마찬가지로 맨 끝에 열이 추가되지만 실제 데이터프래임에는 추가되지 않습니다. 따라서 새로운 열이 추가된 데이터를 새로운 변수나 기존 변수에 넣어주어야 합니다.

 

## assign 이용하기
df.assign(C = ['good','so so', 'not bad'])

 

위 코드를 실행하고 df에 열이 추가되었을까요?

 

 

실제로 추가가 되지는 않았습니다. 따라서 추가된 데이터를 얻고 싶다면 아래와 같이 기존 변수 df에 다시 담아주어야 합니다.

 

## assign 이용하기
df = df.assign(C = ['good','so so', 'not bad'])

  열 삭제하기

꽁냥이는 'B'라는 칼럼을 삭제할 거예요. 여기서는 2가지 방법을 소개합니다.

 

1. drop 함수 이용하기

 

가장 기본적인 열 삭제 방법입니다. 사용법은 아래와 같아요.


df.drop( [ '삭제할 열 이름 1', '삭제할 열 이름 2',... ], axis = 1)

 


## drop 함수 이용하기
df.drop(['B'],axis=1)

 

 

하지만 df는 실제로 삭제되지는 않았으므로 삭제된 데이터프래임을 얻고 싶다면 df변수에 다시 담아줘야 합니다. 

 

## drop 함수 이용하기
df = df.drop(['B'],axis=1)

 

 

2. 각 괄호를 이용하기

 

필요 없는 열을 삭제한다는 말은 필요한 열만 추출하는 것과 같은 말입니다. 따라서 삭제해야 하는 열이 필요한 열보다 많을 때에는 이 방법을 사용하는 것이 더 편리합니다. 열을 추출하는 방법은 이전 포스팅에서 다루었으니 사용법이 궁금하신 분들은 참고해주세요.

 

## 각 괄호 사용하기
df = df[['A']]

 


 

댓글


맨 위로