세상을 바꾸는 데이터

[Pandas] 판다스 - DataFrame 칼럼 데이터 생성, 수정, 삭제 본문

ML/Pandas

[Pandas] 판다스 - DataFrame 칼럼 데이터 생성, 수정, 삭제

Industriousness 2022. 1. 23. 15:23

 

캐글에서 사용되는 연습 데이터셋인 타이타닉 데이터를 이용한다. 

데이터셋 및 자세한 내용은 다음 포스트를 참고하면 된다.

https://data-flower.tistory.com/9?category=949030 

 

[Pandas] 판다스 - 파일을 DataFrame으로 불러오기, 기본 API

새로운 주피터 노트북을 생성하고 판다스 모듈을 임포트 한다. import pandas as pd 다음으로 데이터 파일을 판다스의 DataFrame으로 로딩할 것이다. 사용할 데이터 파일은 캐글의 대표 연습 파일인 타

data-flower.tistory.com

 


타이타닉 데이터 살펴보기

import pandas as pd

titanic_df = pd.read_csv('titanic_df.csv')
print(titanic_df.head(5)) # 5번째 행까지 출력

 

[Output]

titanic_df 대략적으로 살펴보기

 


DataFrame의 칼럼 데이터 세트 생성 및 수정

DataFrame의 칼럼 데이터 세트 생성 및 수정은 [ ] 연산자를 이용해 쉽게 할 수 있다. DataFrame [ ] 내에 새로운 칼럼명을 입력하고 값을 할당해주면 칼럼 데이터 세트 생성이 완료된다.

titanic_df['extra']= 0 # 새로운 컬럼 생성 및 모든 데이터값 0으로 할당
titanic_df.head(3)

 

[Output]

extra 컬럼이 모두 0값으로 추가된 모습

 

기존 칼럼에 값을 업데이트하려면 해당 칼럼에 업데이트 값을 그대로 지정하면 된다.

titanic_df['extra'] = titanic_df['extra'] + 50
titanic_df.head(3)

 

[Output]

extra 컬럼에 모든 값이 50이 추가된 모습

 


DataFrame 데이터 삭제

  • DataFrame.drop( )

DataFrame에서의 데이터 삭제는 drop( ) 메서드를 이용한다. 

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

 

drop( ) 메서드에 axis = 1을 입력하면 칼럼을 삭제, axis = 0을 입력하면 행을 삭제한다. 데이터 삭제는 칼럼 삭제를 주로 이용하는 편이며, axis = 0을 사용하는 경우는 이상치 데이터를 삭제하는 경우에 사용된다.

 

inplace가 False이면 자기 자신의 DataFrame의 데이터는 삭제하지 않으며, 삭제된 결과 DataFrame을 반환한다. (inplace의 기본 디폴트 값은 False이다.)

inplace=True로 설정한 채로 반환 값을 다시 자신의 DataFrame 객체로 할당하면 안 된다. (이는 반환 값이 None이 되기 때문)

 

 

titanic_drop_df = titanic_df.drop('extra', axis=1 ) # 칼럼이 'extra'인 데이터셋을 삭제
titanic_drop_df.head(3)

 

[Output]

칼럼에 extra가 삭제된 모습

 

 

drop_result = titanic_df.drop(['SibSp', 'Ticket'], axis=1, inplace=True)
print(' inplace=True 로 drop 후 반환된 값:', drop_result)
titanic_df.head(3)

 

[Output]

inplace=True로 인해 titanic_df 원본 데이터에서도 Sibsp, Ticket 칼럼이 삭제된 모습

 

판다스 칼럼 데이터프레임 생성, 수정, 삭제

 

Reference


https://github.com/chulminkw/PerfectGuide

https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C

 

728x90
반응형
Comments