데이터 전처리

2024. 9. 29. 21:46python study/sw와 ai 데이터 분석

열 이름 변경하기

  • 변수명. rename(columns={'열 이름':'새로운 열 이름'}): 열 이름을 새로운 열이름으로 변경(원본 데이터 변경(X))
  • inplace=True: 원본데이터를 변경해줌
data.rename(columns={'광역지방자치':'시도'},inplace=True) #광역지방자치를 시도로 변경
data
     시도   기초지방자치  사고건수  사망자수  중상자수  경상자수
0    부산    중구   357     3   100   351
1    부산    서구   445     4   136   461
2    부산    동구   539     4   175   579
3    부산   영도구   298     2   122   279
4    부산  부산진구  1535    10   460  1505
..   ..   ...   ...   ...   ...   ...
199  울산    남구  1094     5   336   997
200  울산    동구   501     2   181   410
201  울산    북구   802    10   244   910
202  울산   울주군   660    11   239   647
203  세종   세종시   932    17   234   744
data.rename(columns={'광역지방자치':'시도','기초지방자치':'시군구'},inplace=True)
data
     시도   시군구  사고건수  사망자수  중상자수  경상자수
0    부산    중구   357     3   100   351
1    부산    서구   445     4   136   461
2    부산    동구   539     4   175   579
3    부산   영도구   298     2   122   279
4    부산  부산진구  1535    10   460  1505
..   ..   ...   ...   ...   ...   ...
199  울산    남구  1094     5   336   997
200  울산    동구   501     2   181   410
201  울산    북구   802    10   244   910
202  울산   울주군   660    11   239   647
203  세종   세종시   932    17   234   744

특정 열 삭제하기

  • 변수명. drop(colums=['열 이름'], axis=1): 열 이름에 해당하는 데이터를 삭제
data.drop(columns=['사고건수'], axis=1,inplace=True)
print(data.head())
   시도   시군구  사망자수  중상자수  경상자수
0  부산    중구     3   100   351
1  부산    서구     4   136   461
2  부산    동구     4   175   579
3  부산   영도구     2   122   279
4  부산  부산진구    10   460  1505

데이터 열 연산으로 새로운 열 생성하기

  • 변수명['열 이름']=변수명['열 이름']+변수명['열이름']: 숫자형 데이터에 한해 연산 가능
  • 열 이름이 존재하지 않으면 새로 생성해 줌
data['사상자수']=data['사망자수']+data['경상자수']+data['중상자수']
print(data)
     시도   시군구  사망자수  중상자수  경상자수  사상자수
0    부산    중구     3   100   351   454
1    부산    서구     4   136   461   601
2    부산    동구     4   175   579   758
3    부산   영도구     2   122   279   403
4    부산  부산진구    10   460  1505  1975
..   ..   ...   ...   ...   ...   ...
199  울산    남구     5   336   997  1338
200  울산    동구     2   181   410   593
201  울산    북구    10   244   910  1164
202  울산   울주군    11   239   647   897
203  세종   세종시    17   234   744   995

행 삭제하기

  • 변수명. drop(index=[0,1,2], axis=0): index가 0,1,2인 행을 삭제
  • 변수명. drop(index=[0:16], axis=0): 0~15번째 행까지의 행을 삭제
data.drop(index=0, axis=0,inplace=True)
print(data)
     시도   시군구  사망자수  중상자수  경상자수  사상자수
1    부산    서구     4   136   461   601
2    부산    동구     4   175   579   758
3    부산   영도구     2   122   279   403
4    부산  부산진구    10   460  1505  1975
5    부산   동래구     7   234   767  1008
..   ..   ...   ...   ...   ...   ...
199  울산    남구     5   336   997  1338
200  울산    동구     2   181   410   593
201  울산    북구    10   244   910  1164
202  울산   울주군    11   239   647   897
203  세종   세종시    17   234   744   995
x=data.drop(index=[1,3,5],axis=0)
print(x)
     시도   시군구  사망자수  중상자수  경상자수  사상자수
2    부산    동구     4   175   579   758
4    부산  부산진구    10   460  1505  1975
6    부산    남구    10   217   636   863
7    부산    북구     4   131   442   577
8    부산  해운대구     6   267   794  1067
..   ..   ...   ...   ...   ...   ...
199  울산    남구     5   336   997  1338
200  울산    동구     2   181   410   593
201  울산    북구    10   244   910  1164
202  울산   울주군    11   239   647   897
203  세종   세종시    17   234   744   995

index번호 재설정하기

  • reset_index(drop=True, inplace=True): drop 하고 나서 index가 비어 있는 부분을 0번째부터 차례 대로 채워준다
x=data.reset_index(drop=True,inplace=True)
print(x)
     시도   시군구  사망자수  중상자수  경상자수  사상자수
0    부산    서구     4   136   461   601
1    부산    동구     4   175   579   758
2    부산   영도구     2   122   279   403
3    부산  부산진구    10   460  1505  1975
4    부산   동래구     7   234   767  1008
..   ..   ...   ...   ...   ...   ...
198  울산    남구     5   336   997  1338
199  울산    동구     2   181   410   593
200  울산    북구    10   244   910  1164
201  울산   울주군    11   239   647   897
202  세종   세종시    17   234   744   995

 

'python study > sw와 ai 데이터 분석' 카테고리의 다른 글

데이터 시각화란?  (0) 2024.11.03
데이터 재설정  (0) 2024.09.30
공공 데이터의 이해  (1) 2024.09.29
데이터 분석 도구(colab) & 데이터 기초  (1) 2024.09.28
데이터 구성(seaborn data)  (1) 2024.09.26