우당탕탕 개발일지

데이터프레임 정렬, 열/행 제거, 열 이름 바꾸기 본문

데이터 분석

데이터프레임 정렬, 열/행 제거, 열 이름 바꾸기

민아당긴아 2024. 10. 25. 00:38

엑셀 파일 불러오기

encoding은 파일의 언어형식을 저장하는 선택 명령이다.

cp949, utf-8, utf-8-sig 중 하나를 하면 주로 해결 가능

df = pd.read_csv("data.csv", encoding = "cp949")

df.head()를 통해 첫 5개의 행을 확인해보는 게 국룰

df.head()

 

데이터프레임의 행 정렬

sort_values(by = "정렬기준열")

house.sort_values(by = '행정구역별(읍면동)')

기준열이 두 개 이상이면 리스트를 써준다.

house.sort_values(by = [ '행정구역별(읍면동)', '시점'])

선택함수 1: ascending = True(기본값)

ascending = False를 써주면 내림차순 정렬로 바뀐다.

선택함수 2: inplace = False(기본값)

 inplace = True를 써주면 정렬한 자료를 유지하여 데이터프레임을 바꾼다.

 

💡 데이터프레임 열/행 제거

열 제거: columns

df.drop(columns = [삭제할 열이름])

house.drop(columns = ["일반가구_계"], inplace= True)
house

행 제거: index

df.drop(index = [삭제할 인덱스 목록 리스트])

행 제거를 위해서는 삭제할 인덱스 목록 리스트를 미리 만들어줘야 한다.

인덱스는 df[삭제할 행 조건].index로 구한다.뒤에 ()안 붙인다!!! 자꾸 헷갈리지 말자

index_for_delete = house[house["행정구역별(읍면동)"] == '전국'].index
house.drop( index = index_for_delete, inplace= True )

reset_index

drop하고나서 인덱스를 정리할 때 사용하는 메소드

drop = True하면 행 인덱스를 제거할 수 있다.

 

💡 열이름 바꾸기

df.rename() 함수를 사용한다.

df.rename(columns = {기존열이름 : 새로운열이름, ...})

house.rename( columns={
	"시점" : "year", "행정구역별(읍면동)" : "region",
	"1인" : "p1", "2인" : "p2", "3인" : "p3", "4인" : "p4", 
	"5인" : "p5", "6인" : "p6", "7인 이상" : "p7plus"}, 
	inplace=True)
house

 

💡 csv 파일로 저장하기

df.to_csv("data.csv", encoding = "cp949")