ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Chapter 02-1 데이터 집합 불러오기
    Do it! 판다스 입문 2022. 6. 11. 23:17

    데이터 분석의 시작은 데이터 불러오기부터

    데이터 분석을 위해 가장 먼저 해야 할 일은 무엇일까요? 바로 테이터를 불러오는 것입니다. 이때 불러오는 데이터를 '데이터 집합'이라고 합니다. 그러면 데이터 집합을 불러오는 방법과 데이터를 간단히 살펴보는 방법에 대해 알아보겠습니다. 우리가 처음 불러올 데이터 집합은 갭마인더(Gapminder)입니다. '02_practice'를 주피터 노트북으로 열어 실습을 시작해 볼까요?

     

     

     

    갭마인더 데이터 집합 불러오기

    1. 판다스의 여러 기능을 사용하려면 판다스 라이브러리를 불러와야 합니다. 다음과 같이 입력하여 판다스 라이브러리를 불러 오세요.

    import pandas

     

    2.갭마인더 데이터 집합을 불러오려면 read_csv 메서드를 사용해야 합니다. read_csv 메서드는 기본적으로 쉼표(,)로 열이 구분되어 있는 데이터를 불러옵니다. 하지만 갭마인더는 열이 탭(tab)으로 구분되어 있기 때문에 read_csv 메서드를 호출할 때 열이 탭으로 구분되어 있다고 미리 알려주어야 합니다. sep 속성값으로 \t를 지정하세요.

    df = pandas.read_csv('../data/gapminder.tsv', sep='\t')

     

    3. 판다스에 있는 메서드를 호출하려면 pandas와 점(.) 연산자를 사용해야 합니다. 그런데 매번 pandas라고 입력하려면 번거롭겠죠. 그래서 이를 해결하기 위해 관습적으로 pandas를 pd로 줄여 사용합니다. 다음과 같이 입력하면 pandas를 pd로 줄여 사용할 수 있습니다. 앞으로는 이 방법을 사용하겠습니다.

    import pandas as pd
    df = pd.read_csv('../data/gapminder.tsv', sep='\t')

     

     

     

     

    시리즈와 데이터 프레임

    갭마인더 데이터 집합을 잘 불러왔나요? 이번에는 판다스에서 사용되는 자료형을 알아볼 차례입니다. 판다스는 데이터를 효율적으로 다루기 위해 시리즈(Series)와 데이터프레임(DataFrame)이라는 자료형을 사용합니다. 데이터프레임은 엑셀에서 볼 수 있는 시트(Sheet)와 동일한 개념이며 시리즈는 시트의 열 1개를 의미합니다. 파이썬으로 비유하여 설명하면 데이터프레임은 시리즈들이 각 요소가 되는 딕셔너리(Dictionary)라고 생각하면 됩니다.

     

     

     

    불러온 데이터 집합 살펴보기

    1. read_csv 메서드는 데이터 집합을 읽어 들여와 데이터프레임이라는 자료형으로 반환합니다. 데이터프레임에는 데이터 분석에 유용한 여러 메서드가 미리 정의되어 있습니다. 데이터프레임의 데이터를 확인하는 용도로 자주 사용하는 head 메서드에 대해 먼저 알아보겠습니다. head 메서드는 데이터프레임에서 가장 앞에 있는 5개의 행을 출력하므로 내가 불러온 데이터가 어떤 값을 가지고 있는지 살펴보기에 안성맞춤이죠.

    print(df.head( ))
        country         continent    year    lifeExp            pop    gdpPercap
    0  Afghanistan          Asia   1952    28.801     8425333   779.445314
    1  Afghanistan          Asia   1957    30.332     9240934   820.853030
    2  Afghanistan          Asia   1965    31.997   10267083   853.100710
    3  Afghanistan          Asia   1967    34.020   11537966   836.197138
    4  Afghanistan          Asia   1972    36.088   13079460   739.981106

     

    2. 이번에는 df에 저장된 값이 정말 데이터프레임이라는 자료형인지 확인해 보겠습니다. 실행 결과를 보면 판다스의 데이터프레임이라는 것을 알 수 있습니다. type 메서드는 자료형을 출력해 줍니다. 앞으로 자주 사용할 메서드이므로 꼭 기억해 두기 바랍니다.

    print(type(df))

    <class 'pandas.core.frame.DataFrame'>

     

    3. 데이터프레임은 자신이 가지고 있는 데이터의 행과 열의 크기에 대한 정보를 shape라는 속성에 저장하고 있습니다. 다음을 입력하여 실행하면 갭마인더의 행과 열의 크기를 확인할 수 있습니다. 1번째 값은 행의 크기이고 2번째 값은 열의 크기입니다.

    print(df.shape)

    (1704, 6)

     

    4. 이번에는 갭마인더에 어떤 정보가 들어 있는지 알아보겠습니다. 먼저 열을 살펴보겠습니다. 과정 3에서 shape 속성을 사용했던 것처럼 columns 속성을 사용하면 데이터프레임의 열 이름을 확인할 수 있습니다. 갭마인더를 구성하는 열 이름은 각각 country, continent, year, lifeExp, pop, gdpPercap입니다.

    print(df.columns)

    Index(['country', 'continent', 'year', 'lifeExp', 'pop', 'gdpPercap'], dtype='object')

     

    5. 데이터프레임을 구성하는 값의 자료형은 데이터프레임의 dtypes 속성이나 info 메서드로 쉽게 확인할 수 있습니다.

    print(df.dtypes)

    country         object
    continent      object
    year                int64
    life Exp        float64
    pop                 int64
    gdpPercap   float64
    dtype: object     

    print(df.info( ))

    <class 'pandas.core.frame.DataFrame'>
    RangeIndex: 1704 entries, 0 to 1703
    Data columns (total 6 columns):
    Country           1704 non-null object
    Continent        1704 non-null object
    Year                  1704 non-null int64
    lifeExp            1704 non-null float64
    pop                    1704 non-null int64
    gdpPercap      1704 non-null float64
    dtypes: float64(2), int64(2), object(2)
    memory usage: 80.0+ KB
    None

     

     

     

     

    판다스와 파이썬 자료형 비교

    다음 표에 앞으로 판다스를 공부하며 자주 다루게 될 자료형을 정리했습니다. 그런데 판다스와 파이썬은 같은 자료형도 다르게 인식합니다. 예를 들어 판다스는 문자열 자료형을 object라는 이름으로 인식하고 파이썬은 string이라는 이름으로 인식합니다. 같은 자료형이라도 판다스, 파이썬이 서로 다른 이름으로 인식한다는 점을 주의 깊게 살펴보고 다음으로 넘어가세요.

    판다스 자료형 파이썬 자료형 설명
    object string 문자열
    int64 int 정수
    float64 float 소수점을 가진 숫자
    datetime64 datetime 파이썬 표준 라이브러리인 datetime이 반환하는 자료형

     

     

     

     

     

     

    출처 : "판다스 입문"

Designed by Tistory.