6.4.1 데이터프레임 정보와 조건 검색

6.4.1 데이터프레임 정보와 수정

① 데이터프레임 준비

준비된 파일 ‘2016-01-2016-12_Seoul_Accident.csv’를 읽어 데이터프레임을 준비하자. 파일의 A열을 데이터프레임의 인덱스로 사용하기 위해 인자 index_col=0을 지정해 읽는다.

import pandas as pd

df = pd.read_csv('data/2016-01-2016-12_Seoul_Accident.csv', encoding='euc-kr', index_col=0)
print(df)

출력:

             사고(건)  사망(명)  부상(명)
연월
2016년1월      192      5    387
2016년2월      174      6    328
2016년3월      217      7    435
2016년4월      216      7    419
2016년5월      239     13    522
2016년6월      200     12    362
2016년7월      227      9    460
2016년8월      230      7    490
2016년9월      187     13    347
2016년10월     183     10    367
2016년11월     200      5    418
2016년12월     168      4    364

② 데이터프레임 정보

[실전 꿀팁]: 처음 데이터를 만났을 때 뜯어보는 필수 3총사 + 1 분석할 데이터를 처음 불러왔을 때, 무작정 코드를 치기보다 가장 먼저 “데이터의 생김새”를 파악하는 것이 중요합니다.

  • shape: “몇 행, 몇 열짜리 데이터지?” (전체 크기 확인)
  • head(), tail(): “어떤 값이 들어있지?” (앞뒤 샘플 5줄 살짝 엿보기)
  • info(): “컬럼 종류와 결측치 수는?” (데이터 타입 및 누락 데이터 파악, 가장 중요!)
  • describe(): “대략적인 평균, 최대/최소값은?” (숫자 분포와 기초 통계량 1초 만에 요약)

속성 dtypes로 각 열의 자료형을 알아보자.

df.dtypes
# 6.4.1 사고(건)    int64
# 6.4.1 사망(명)    int64
# 6.4.1 부상(명)    int64
# 6.4.1 dtype: object

함수 info()indexcolumns 정보와 행과 열의 전체적인 정보와 사용 메모리를 보여준다.

df.info()

출력:

<class 'pandas.core.frame.DataFrame'>
Index: 12 entries, 2016년1월 to 2016년12월
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   사고(건)   12 non-null     int64
 1   사망(명)   12 non-null     int64
 2   부상(명)   12 non-null     int64
dtypes: int64(3)
memory usage: 384.0+ bytes

위의 3개 열이 모두 정수 정보이므로 함수 describe()로 기초 통계량을 알 수 있다.

df.describe()

df.T는 행과 열을 바꾼 데이터프레임을 반환받을 수 있다.

df.T
서브목차