ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬으로 시작하는 데이터 사이언스 - 1. Pandas
    공부일기/부스트코스 2020. 11. 18. 00:04

    1. pandas란?

     

    • panel data system의 약자. 행과 열로 된 데이터(panel data)
    • 엑셀에 비해 대용량의 데이터를 빠르게 처리할 수 있다는 장점이 있고,
      주피터 노트북 등을 통해 기존의 소스코드를 재사용할 수 있다. 월별, 주별 반복 작업에 용이하다.
    • 파이썬 문법을 통해 작동한다.

     

    2. 치트시트를 활용한 기초 학습

    import pandas as pd

    우선 판다스 라이브러리를 불러온다. as pd를 활용해 pandas.DataFrame를 pd.DataFrame으로 간단하게 쓸 수 있다.

     

     

    • DataFrame: 기본적으로 행과 열로 구성된 데이터
    df = pd.DataFrame(
    {"a" : [4, 5, 6],
    "b" : [7, 8, 9],
    "c" : [10, 11, 12]},
    index = [1, 2, 3])
    df

    실행하게 되면 아래와 같은 표가 출력된다.

     

     

     

    • Series : df["a"]로 컬럼 출력 시 a 컬럼에 있는 값들이 출력되는데, 이것을 Series 데이터라고 부른다.
                대괄호를 한번 더 써주면 DataFrame의 형태로 a 컬럼의 값들이 출력된다. Series는 1차원의 구조를
                지닌다.

     

     

    • Subset(일부 값만 불러오기): 
    # 행 기준
    df[df["a"] > 4] # a 컬럼에서 4 이상의 값들만 불러온다.
    
    # 열 기준
    df[["width", "length", "species"]]
    
    # 두 개 이상의 값을 아래와 같이 불러올 경우 Series형태로 불러오게 되면 오류가 발생한다.
    df["a" "b"]
    
    # 따라서 아래와 같은 DataFrame의 형태로 불러온다.
    df[["a","b"]]

     

     

    • Summarize Data

    Categorical한 값의 빈도수를 구하기

    df["a"].value_counts()
    # a 칼럼에서 각 값들의 빈도수를 불러온다.

    실행 시 아래와 같은 결과를 보여준다.

     

    • Reshaping

    1. sort_values()

    df = pd.DataFrame(
    {"a" : [4 ,5, 6, 4],
    "b" : [7, 8, 9, 9],
    "c" : [10, 11, 12, 10]},
    index = [1, 2, 3, 4])
    
    # 1. a 컬럼을 기준으로 정렬하기 (a 컬럼의 값을 기준으로 정렬, 기본적으로 오름차순)
    
    df["a"].sort_values()
    
    
    # 2. a 컬럼 값 기준으로 정렬(False일 경우 역순, 기본 값은 True)
    
    df.sort_values("a", ascending=False)

     

    1번 실행 결과

     

    2번 실행 결과

     

     

    2. drop()

    # 2번 index drop
    df.drop([2])
    
    
    # axis=1 설정을 통해 컬럼을 기준으로 드랍. 기본 값 axis=0
    df.drop(["c"], axis=1)

     

     

     

    • Group Data

    1. groupby

    # df.groupby(["a"])["c"].sum()
    # df.groupby(["a"])["c"].mean()
    # df.groupby(["a"])["c"].count()
    # 위의 각 함수들을 통해 a 컬럼 값을 기준으로 c의 컬럼 평균값을 구할 수 있다.
    
    # 1. agg()를 통해 모든 값을 나타낼 경우
    df.groupby(["a"])["c"].agg(["mean", "sum", "count"])
    
    # 2. describe()를 통해 표현
    df.groupby(["a"])["b"].describe()

    1번 실행 결과
    2번 실행 결과

     

     

    2. pivot_table

    # pivot_table로 합 구하기
    pd.pivot_table(df, index="a", values="b", aggfunc="sum")

     

     

    3. plot

     

    # 꺾은선 그래프
    df.plot()
    
    # 꺾은선 그래프 영역 색 채우기
    df.plot.area()
    
    # 막대그래프 그리기
    df.plot.bar()
    
    # 밀도함수 그리기
    df.plot.density()

     

     

     

    위의 내용은 네이버 [부스트코스] '파이썬으로 시작하는 데이터 사이언스'를 정리한 내용입니다.

    전에 학습한 생활코딩 머신러닝 강의를 복습하는 중 판다스 코드가 낯설게 느껴져 새로운 강의를 듣기 시작했다. 

    공공데이터를 이용 및 활용하는 강의인데 공공데이터포털에서 다른 데이터로 받아볼 수 있으니 굉장히 재밌을 거 같다 !

     

     

     

    참고.

    www.edwith.org/boostcourse-ds-510/lecture/59933/

Designed by Tistory.