[python] 데이터 프레임

     

     

     

    데이터 프레임?

    행과 열로 구성된 사각 모양의 표

     

    열 (= 컬럼 column = 변수 variable) & 행 (= 로 row = 케이스 case)

    열은 속성을 의미한다면 행에는 한 사람(하나의 단위)의 정보가 들어간다. 

     

    데이터가 크다?

    이는 행이 많거나 열이 많다는 것을 의미한다. 특히 열이 많다는 것이 중요한데, 왜냐하면 변수가 늘어난다는 것은 그만큼 적용해야 할 분석 기술이 달라지기 때문이다. 

     

    데이터 프레임 만들기

    import pandas as pd
    df = pd.DataFrame({'name' : ['김지훈', '이유진', '박동현', '김민지'],
                      'english' : [90, 80, 60, 70],
                      'math' : [50, 60, 100, 20]})

     

     

    데이터 프레임 분석하기

    [변수 추출]

    df['english']

    [변수 값으로 합계 구하기]

    sum(df['english'])

    300

     

    [변수 값으로 평균 구하기]

    sum(df['english'])/4

    75.0

     

    len( )을 활용해서 평균을 구할 수도 있다.

    len( ) : 값의 개수를 구하는 기능을 하는 함수. 변수를 입력하면 변수에 들어있는 값의 개수를 출력하고, 데이터 프레임을 입력하면 행의 개수를 출력한다.

     

    sum(df['english']) / len(df)

     

     

    외부 데이터 이용하기

    [엑셀 파일 불러오기]

    현재 사용하고 있는 워킹 디렉터리에 파일을 삽입했다면 다음과 같은 방식으로 불러오면 된다.

    df = pd.read_exel('파일명')

     워킹 디렉토리가 아닌 다른 폴더에 있다면 경로를 입력해 불러온다. 슬래시 (/)로 경로를 표시한다.

    df = pd.read_exel('c:/ / /파일명')

     

    엑셀 파일의 첫번째 행이 변수명이 아닐때는 read_exel( )에 header = None을 입력한다. 

    첫 번째 행을 변수명이 아닌 데이터로 인식하며, 변수명은 0부터 시작하는 숫자로 자동지정된다. 

     

    엑셀 파일에 시트가 여러 개라면 다음과 같이 입력한다.

    # Sheet4 시트의 데이터 불러오기
    df = pd.read_exel( '파일명', sheet_name = 'Sheet4')
    
    #4번째 시트의 데이터 불러오기
    df = pd.read_exel( '파일명', sheet_name = 3)

    시트 번호를 통해 불러오는 경우에는 -1 된 숫자를 입력한다. 왜냐하면 파이썬에서는 숫자를 0부터 세기 때문이다.

     

     

     

    [CSV 파일 불러오기]

    CSV 파일은 값이 쉼표로 구분된 형태의 파일이다. 

    불러오는 코드는 다음과 같다. (워킹 디렉터리에 삽입되어있는 경우)

    df_csv = pd.read_csv('exam.csv')

     

    [데이터 프레임 → CSV 파일로 저장]

    데이터프레임명.to_csv('파일명')
    
    #인덱스 번호 제외 저장
    데이터프레임명.to_csv('파일명', index = False)

    * boolean : True, False로 구성되는 데이터 타입

     

     

    Reference

    김영우, 「DO IT! 쉽게 배우는 파이썬 데이터 분석」, 이지스퍼블리싱, 2022, p. 77-92

    댓글