Pandas 데이터프레임에서 특정 Column 만 남기기

너무 많은 Column 의 데이터프레임을 다룰 때,

해당 데이터프레임에서 필요한 Column 만을 가지고 새로운 데이터프레임을 만들어 저장하는 것이 도움이 됩니다.

이것을 위한 간단한 로직입니다.

리스트 내부의 Column 만 남기는 로직

				
					import pandas as pd 


src = {"A":[1, 1, 1, 1], "B":[2,2,2,2], "C":[3,3,3,3]}

df = pd.DataFrame(src)

# A 와 C 라는 열만을 남기고 싶으니 해당 리스트에 다음과 같이 넣습니다.
columns_to_keep = ["A", "C"]

# 결과적으로 A, C 라는 열만 남고 B 열은 사라진 데이터프레임이 생성됩니다.
df = df[columns_to_keep]

				
			

저는 왼쪽처럼 작업에 있어 필요한 Column 들을 미리 리스트 내부에 지정을 해두고,

해당 Column 들만을 남기는 방식을 사용하는 편입니다.

만약 원본 데이터에 Column 이 굉장히 많다면 이런 방법이 효율적일 겁니다.

반대로, 원본 데이터에 Column 이 그닥 많지 않고, 몇 가지 Column 만을 삭제하고 싶은 경우는 어쩔까요?

리스트 내부의 Column 만 삭제하는 로직

				
					import pandas as pd 


src = {"A":[1, 1, 1, 1], "B":[2,2,2,2], "C":[3,3,3,3]}

df = pd.DataFrame(src)

# A 와 C 라는 열만을 삭제하고 싶으니 해당 리스트에 다음과 같이 넣습니다.
columns_to_drop = ["A", "C"]

# 결과적으로 B 라는 열만 남고 A,C 열은 사라진 데이터프레임이 생성됩니다.
df = df.drop(columns_to_drop, axis=1)

				
			

위와 반대로 특정 리스트 내부의 Column 들을 삭제하고 싶을 때는,

왼쪽과 같이 df.drop 로직을 사용하되 

axis 를 1로 설정하면 됩니다. 

마치며...

일전에 워드프레스에 구글 애드센스를 적용하고, 신청하였는데

찾아보니 3주? 정도가 걸리는 것 같습니다.

제가 1월 11일에 포스팅을 했으니까, 2월 초 정도에는 답이 나올까 싶습니다.