반응형
판다스 데이터프레임을 수정하는 방법은 일부(부분)를 수정하는 것과 열 또는 행 전체를 바꾸는 방법으로 나누어지며, 그 원리는 유사하다고 볼 수 있습니다. 즉, 데이터프레임의 위치를 loc를 통해서 지정해주어 바꾸는 방식으로 둘 다 진행됩니다. 밑에 예시로 살펴 보시죠 :)
1. 데이터프레임 일부분 수정하기
a. 행 또는 열 이름을 작성해주어 수정해주는 경우
#해당 위치의 행 / 열 이름을 아는 경우
df.loc['행 이름', '열 이름'] = '수정 후 데이터'
# 예시 ) '지역명', '위치' 위 데이터의 '서울' 데이터를 '수원'으로 바꾸어주어야하는 경우
df.loc['지역명', '위치'] = '수원'
예시를 보면 아시겠지만, 일부 데이터프레임만 데이터 값을 바꾸고 싶은 경우 이렇게 바꾸어주면 됩니다 :)
b. 위치 번호(인덱스 번호)를 기준으로 수정해주는 경우
# 데이터 위치의 인덱스 번호를 알고있는 경우
df.iloc[해당 데이터 행 인덱스 번호, 해당 열 인덱스 번호] = '수정 후 그 자리에 들어갈 데이터 입력'
# 예시 ) 1,3 위 데이터의 '서울' 데이터를 '수원'으로 바꾸어주어야하는 경우
df.iloc[1, 3] = '수원'
위의 수정 방법과는 다르게, 인덱싱 번호를 기준으로 해주어야 합니다 ! 인덱싱 번호는 0번부터 시작되는 점 꼭!!! 잊지 않으셨으면 좋겠습니다 !!
2. 데이터프레임 열 또는 행 전체 수정하기
a. 모든 열(칼럼) 데이터를 수정해주어야하는 경우
#'해당 칼럼' 칼럼 값 전부 수정해주기 ! 5번째 칼럼에 '수정된 값5' 까지
df['해당 칼럼'] = ['수정된 값1', '수정된 값2', '수정된 값3', '수정된 값4', '수정된 값5']
이 데이터의 경우 수정된 값n 이라고 임의의 값을 정했지만, 로우의 개수만큼 , 가 늘어나게 됩니다. 너무 큰 데이터프레임일 경우 반복문을 이용해 보시는게 좋을 것 같습니다 :) 기본적인 골격은 이렇습니다.
b. 모든 행(로우) 데이터를 수정해주어야하는 경우
#'해당 로우' 로우 값 전부 수정해주기 (수정할 값1 ~ 5)
df.loc['해당 로우'] = ['수정할 값1', '수정할 값2', '수정할 값3', '수정할 값4', '수정할 값5']
이 데이터의 경우 수정된 값n 이라고 임의의 값을 정했지만, 로우의 개수만큼 , 가 늘어나게 됩니다. 너무 큰 데이터프레임일 경우 반복문을 이용해 보시는게 좋을 것 같습니다 :) 기본적인 골격은 이렇습니다.
저의 아주 작은 티끌 코딩 글이 블로그 방문자 님의 작업에 도움이 됐으면 좋겠습니다.
좋아요(❤) 버튼 ↙은 항상 감사합니다.
방문하신 모든 분들 좋은 하루 되세요 : )
반응형