본문 바로가기
Data Science

[Pandas] Column 열 생성 및 삭제

by Lora Baek 2022. 8. 15.
300x250

판다스 열 Column 추가 생성

[]를 이용해서 데이터프레임의 특정 열 선택뿐만 아니라, 생성과 삭제도 할 수 있다.

캐글 타이타닉 데이터프레임을 불러와서 새로운 칼럼 Age_new를 추가하고 일괄적으로 0 값을 할당해보자.

데이터프레임명['칼럼명']=할당할 값

할당할 값에 0과 같은 상수를 입력하면 해당 시리즈의 모든 데이터에 일괄적으로 0이 적용된다.

이렇게 만들어진 칼럼은 새로운 값을 또 할당 및 업데이트할 수도 있고,

다른 칼럼의 값을 이용하거나 여러 칼럼의 값을 계산하는 데 이용할 수도 있다.

 

판다스 특정 행 열 제거 삭제

판다스에서 데이터 삭제는 drop()을 이용할 수 있다. 이용할 수 있는 인자들의 값을 보자.

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

이 중에서 가장 중요한 것은 axis, labels, inplace 정도다.

먼저 axis는 0을 입력하면 로우 방향(배열에서의 axis 0), 1을 입력하면 칼럼 방향(배열에서의 axis 1)으로 데이터를 삭제하게 된다.

axis=1을 입력하면 칼럼 방향으로 데이터를 삭제하므로, 지정된 칼럼 자체가 사라진다.

axis=0을 입력하면 로우 방향으로, 즉 특정 인덱스의 데이터를 삭제한다는 뜻이다. 따라서 labels에 오는 값을 인덱스로 간주하고 그 인덱스를 삭제하게 된다.

 

칼럼을 만들거나 삭제할 때에는 axis=1, 이상치와 같은 특정 데이터를 삭제할 때에는 axis=0을 사용한다고 생각하면 된다.

 

그다음으로 중요한 건 Inplace이다.

Inplace=False로 설정하면 자기 자신의 데이터프레임 데이터는 삭제하지 않고 삭제된 결과의 데이터프레임을 반환하게 된다.(False가 디폴트 값이다.) 이 경우에는

df2 = titanic_df.drop(['Age_new', 'Family_No'], axis=1)와 같이 새로운 변수명에 지정해서 할당을 해주는 편이다.

 

반면 Inplace=True로 설정하면 자신의 데이터프레임 데이터가 삭제되므로 주의하자.

df2 = titanic_df.drop(['Age_new', 'Family_No'], axis=1, inplace=True)와 같이 df2라는 데이터프레임에 저장을 한다 해도 df2를 반환하면 None이라고 뜨고, 원본 데이터프레임이었던 titanic_df에서 ['Age_new', 'Family_No'] 두 칼럼이 삭제되었음을 확인할 수 있다.

 


 

판다스 기본 개념 정리하기

2022.08.07 - [Data Science] - [Pandas] 판다스 데이터프레임 기초 with 캐글 타이타닉 파일

2022.08.15 - [Data Science] - [Pandas] 넘파이 리스트 딕셔너리 판다스 변환

 


 

넘파이 (numpy) 기초에 대한 공부가 필요하다면 아래 링크들을 참고 부탁드린다.

 

차근차근 넘파이 개념 정리하기

2022.08.02 - [Data Science] - [Numpy] 넘파이 설치+차원 확인+데이터 타입 확인 및 변경

2022.08.02 - [Data Science] - [Numpy] 넘파이 배열 생성 arange range 차이+파이썬 빈 배열 만들기

2022.08.03 - [Data Science] - [Numpy] 넘파이 reshape 차원 추가 축소 변경하기

2022.08.04 - [Data Science] - [Numpy] 넘파이 인덱싱 슬라이싱 팬시인덱싱 등으로 인덱스 반환하기 +찾기

2022.08.05 - [Data Science] - [Numpy] argsort 넘파이 정렬 내림차순까지 간단히 정리

댓글