[python] 변수 생성과 함수

    동기들과 함께 Dacon 따릉이 데이터를 활용한 연습 대회에 참여하기로 결정하고 난 후 데이터를 살펴보는데,

    분석과 관련하여 너무나도 부족한 지식을 가지고 있는 나를 발견하게 되었다. 그래서 2학기 학회에서 사용했던

    교재 <DO IT! 쉽게 배우는 파이썬 데이터 분석> 교재 복습을 시작했다. 

     

    사실 2학기에 전공 4개 + 파이썬 IDLE 수업을 수강하면서 학회에서 진행했던 파이썬 분석 공부에 소홀했었다.

    분석 공부를 많이 하지 못해서 아쉬움이 많았었는데, 다행히 이번 겨울방학 학회 프로젝트도 파이썬 분석 스터디를 진행한다고 한다.

    그래서 이번 겨울에는 DACON 연습 대회(개별 공부) + 학회 공부로 파이썬 데이터 분석을 공부할 것이다. 

     

    오늘 진행했던 공부는 교재의 3-4장의 내용이다. 

    교재 3-4장의 내용은 변수 생성 및 연산 과정, 함수 사용과 데이터 프레임이 포함되어 있다.

    그 중 python의 기초 변수와 함수에 대해서 정리해보았다.  

     

     

    변수는 '변하는 수'다

    - 변수는 다양한 값을 지닌 하나의 속성이다.

    - 데이터 분석은 변수 간 어떤 관계가 파악하는 작업을 의미한다. 따라서 변수와 반대로 분석할 수 없고 하나의 값으로만 되어있는 속성을 '상수' 라고 한다. 

     

    변수 만들기

    변수를 만들 때는 '=' 를 사용한다. a = 1은 변수 a에 1을 넣으라는 뜻이다. 

    변수를 생성하면 변수를 이용해 연산이 가능하다. 변수끼리 연산, 변수와 숫자 간 연산이 가능하다. 

     

    a = 1          #변수 생성	
    a              #출력
    
    b = 2
    b
    
    c = 3
    c
    
    d = 4
    d

     

    a + b

    3

    a + b + c

    6

    8 / d

    2

     

     

    변수명을 정할 때는 반드시 문자로 시작해야한다. 대문자와 소문자를 섞기 보다는 소문자를 활용하는 편이 헷갈리지 않고 좋다. 

     

     

    여러 값으로 구성된 변수 생성

    대괄호 [ ] 안에 쉼표를 이용해 값 나열하면 된다. 

    var1 = [1, 2, 3]
    var1

     

    [1, 2, 3]

     

    var2 = [4, 5, 6]
    var2

    [4, 5, 6]

     

    var1 + var2

    [1, 2, 3, 4, 5, 6]

     

     

    문자로 된 변수 생성

    변수에 문자를 넣을 때 ' ' 를 붙여야 한다. 따옴표가 붙어있으면 문자로 구성된 변수임을 의미한다.

     

    str1 = 'Hi'
    str1

    'Hi'

    str2 = 'im'
    str2

    'im'

    str3 = 'statdust'
    str3

    'statdust'

    str1 + ' ' + str2 + ' ' + str3

    'Hi im statdust'

     

     

     

    함수

    데이터 분석은 '함수를 이용해 변수를 조작하는 일' 이다. 

    함수는 '함수 이름'과 '괄호'로 구성되어있다. 

     

    x = [1, 2, 3]
    x

    [1, 2, 3]

    sum(x)

    6

    max(x)

    3

    min(x)

    1

     

    함수 결과물을 새로운 변수에 집어넣을 수 있다.

    x_sum = sum(x)
    x_sum

    6

     

     

     

     

    패키지

    패키지는 여러가지의 함수가 들어있는 꾸러미에 비유할 수 있다. 다양한 함수가 들어있는 패키지를 설치하고 불러오면 안에 들어있는 함수 이용이 가능하다. 

     

    패키지 설치 → 패키지 로드 → 함수 사용  순의 방법으로 패키지를 사용할 수 있다. 

    여기서 '로드'란 패키지를 사용할 수 있도록 불러들이는 작업을 말한다. 패키지를 로드하는 과정은 JupyterLab을 실행할 때마다 반복해야 한다. 그렇지 않으면 함수를 사용할 수 없게 된다. 

    패키지를 로드할 때는 import 패키지 이름을 입력한다. 

     

    import seaborn
    
    var = ['a', 'a', 'b', 'c']
    var

    ['a', 'a', 'b', 'c']

     

    countplot( )을 이용해 막대그래프를 생성할 수 있다. 패키지 함수명 뒤에 점(.)을 찍고 함수명을 입력하면 된다.

    x축은 var의 값으로 설정한다. 

    seaborn.countplot(x = var)

    약어를 활용하면 조금 더 짧게 코드를 작성할 수 있다.

    import seaborn as sns
    
    sns.countplot(x = var)

     

     

     

    패키지 속 데이터로 그래프 생성

    seaborn 패키지 속 titanic 데이터를 활용하여 그래프를 만들수 있다.

    우선, titanic 데이터를 불러와야한다. dataload_dataset(  )을 활용한다. 

    df = sns.load_dataset('titanic')
    df

     

     

    함수의 다양한 기능

    앞서 countplot( ) 함수 내 지정했던 x축의 값은(  ) 안에 x를 입력하여 지정할 수 있었다. 이처럼 함수의 옵션을 설정하는 명령어를 '파라미터' 또는 '매개변수'라고 한다. 

     

    sns.countplot(data = df, x = 'sex')

     

    sns.countplot(data = df, x = 'class')

    sns.countplot(data = df, x = 'class', hue = 'alive')

    hue는 변수의 항목별로 색을 다르게 표현하는 파라미터다. 

     

     

     

    모듈

    패키지 안에 많은 함수들이 존재하기에 비슷한 함수들끼리 묶어 모듈로 나누어져 있다. 

    sklearn 패키지 속 metrics 모듈 안의 accuracy_score( )을 사용하려고 할 때 사용가능한 코드는 다음과 같다.

     

    패키지명.모듈명.함수명( )

    import sklearn.metrics
    sklearn.metrics.accuracy_score()

    from 패키지명 import 모듈명

    from sklearn import metrics
    metrics.accuracy_score()

    from 패키지명.모듈명 import 함수명

    from sklearn.metrics import accuracy_score
    accuracy_score()

     

    함수를 지정해 로드하면 로드한 함수 이외의 모듈의 다른 함수는 사용할 수 없다. 

    따라서 모듈의 특정 함수만 자주 사용한다면 함수를 지정해 로드하고, 모듈의 여러 함수를 사용한다면 모듈 전체를 로드하는 것이 용이하다. 

     

     

    Reference

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

    댓글