ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 기초 : Python Library(1)(Pandas, Numpy)
    BootCamp/FastCampus x Upstage AI Lab 6기 2024. 11. 20. 16:12

    파이썬 라이브러리 개요

    • 파이썬 라이브러리는 다양한 기능을 제공하여 프로그래밍을 보다 효율적으로 할 수 있도록 돕는 도구이다.
    • 파이썬은 뛰어난 확장성과 연계 호환성을 가지고 있어, 다양한 분야에서 활용되고 있다.
    • 딥 러닝 프레임워크는 대부분 파이썬 기반으로 작성되어 있으며, 관련 자료도 파이썬으로 제공된다.

    수치 계산 라이브러리(NumPy)

    • NumPy는 Numerical Python의 약자로, 파이썬 기반의 수치 해석 라이브러리이다.
    • 다차원 배열과 배열 연산을 수행하는 다양한 함수를 제공한다.
    • 설치 방법: pip install NumPy
    • 사용 방법: import NumPy as np
    • NumPy에 대한 다양한 설명은 NumPy 공식 웹사이트에서 확인할 수 있다.
     

    NumPy -

    Use the interactive shell to try NumPy in the browser

    numpy.org

    NumPy 기본 개념

    • NumPy는 수치 계산을 위한 기본 개념을 제공한다.
    • ndarray는 NumPy에서 배열을 나타내는 객체로, 다양한 연산을 지원한다.
    • NumPy 배열은 Python list에 비해 문법이 간단하고 성능이 뛰어나다.
    • NumPy의 배열은 기본적으로 같은 타입의 값을 가진다.

    NumPy 배열과 연산

    • NumPy 배열은 ndarray 또는 array로 불리며, 다양한 연산이 가능하다.
    • NumPy 배열은 배열 전체에 연산이 가능하지만, Python list는 덧셈만 가능하다.
    • NumPy의 배열 생성 방법은 np.array, np.zeros, np.ones, np.empty 등을 사용한다.

    NumPy 데이터 생성

    • np.arange와 np.linspace를 이용하여 연속적인 데이터를 쉽게 생성할 수 있다.
    • np.arange는 N 만큼 차이 나는 숫자를 생성하고, np.linspace는 N 등분한 숫자를 생성한다.
    • 이 두 함수는 데이터 생성 시 코드 가독성을 높이는 데 유용하다.

    NumPy 기본 연산

    • NumPy에서 수치 연산은 기본적으로 element wise 연산이다.
    • 차원(축)을 기준으로 행렬 내에서 같은 위치에 있는 원소끼리 연산을 수행한다.
    • 다양한 곱셈 연산을 지원하며, 행렬 곱셈은 @ 기호를 사용한다.
    # 1. NumPy 배열 생성 및 연산
    import numpy as np
    
    # 배열 생성
    arr = np.array([1, 2, 3, 4, 5])
    zeros = np.zeros((2, 3))
    ones = np.ones((3, 2))
    
    # 배열 연산
    arr_squared = arr ** 2
    print("원본 배열:", arr)
    # 원본 배열: [1 2 3 4 5]
    print("제곱 연산 결과:", arr_squared)
    # 제곱 연산 결과: [ 1  4  9 16 25]
    print("0으로 채워진 배열:\n", zeros)
    # 0으로 채워진 배열:
    # [[0. 0. 0.]
    #  [0. 0. 0.]]
    print("1로 채워진 배열:\n", ones)
    # 1로 채워진 배열:
    # [[1. 1.]
    #  [1. 1.]
    #  [1. 1.]]

    데이터 처리 라이브러리(Pandas)

    • Pandas는 파이썬에서 사용하는 데이터 분석 라이브러리이다.
    • 행과 열로 이루어진 2차원 데이터를 효율적으로 가공할 수 있는 다양한 기능을 제공한다.
    • 설치 방법: pip install pandas
    • 사용 방법: import pandas as pd
    • Pandas에 대한 다양한 설명은 Pandas 공식 웹사이트에서 확인할 수 있다.
     

    pandas - Python Data Analysis Library

    pandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. Install pandas now!

    pandas.pydata.org

    Pandas 기본 개념

    • Pandas는 데이터 분석을 위한 라이브러리로, 시리즈(Series)와 데이터프레임(DataFrame)이라는 구조화된 데이터 형식을 제공한다.
    • 데이터프레임은 행과 열로 이루어진 2차원 배열의 형태이다.
    • Pandas는 다양한 형태의 외부 파일을 읽어와서 데이터프레임으로 변환하는 기능을 제공한다.

    Pandas 데이터 형식

    • Pandas는 **시리즈(Series)**와 **데이터프레임(DataFrame)**이라는 두 가지 주요 데이터 형식을 제공한다.
    • 시리즈는 1차원 배열의 형태로, index와 value가 일대일 대응 관계를 가진다.
    • 데이터프레임은 2차원 배열의 형태로, 각 열은 각각의 시리즈 객체로 구성된다.

    Pandas 파일 불러오기

    • Pandas는 다양한 형태의 외부 파일을 읽어와서 데이터프레임으로 변환하는 함수를 제공한다.
    • CSV, Excel, JSON, SQL, HTML 등 다양한 파일 형식을 지원한다.
    • 예를 들어, CSV 파일을 읽어오는 방법은 pd.read_csv("파일경로")이다.

    Pandas 데이터 내용 확인

    • Pandas는 데이터의 내용을 확인하기 위한 다양한 메서드를 제공한다.
    • .columns, .head(), .tail(), .shape, .info() 등을 사용하여 데이터의 구조와 내용을 파악할 수 있다.

    Pandas 특정 열 선택

    • 특정 열을 선택할 때는 대괄호([]) 안에 열 이름을 입력하여 시리즈 객체를 반환받을 수 있다.
    • 여러 개의 열을 선택할 때는 2중 대괄호([[ ]])를 사용하여 데이터프레임 객체를 반환받는다.

    Pandas 데이터 필터링

    • 불리언 인덱싱을 사용하여 특정 조건을 만족하는 데이터만 추출할 수 있다.
    • .isin() 메서드를 사용하여 특정 값이 포함된 행을 선택할 수 있다.

    Pandas 결측치 처리

    • 결측치는 데이터 분석에서 중요한 부분으로, .dropna() 메서드를 사용하여 결측값이 있는 행이나 열을 삭제할 수 있다.
    • 결측값을 처리하는 방법은 데이터의 양에 따라 다르며, 대체하는 방법도 고려해야 한다.

    Pandas 행과 열 선택

    • .loc[] 메서드를 사용하여 행 이름과 열 이름을 기반으로 특정 데이터를 선택할 수 있다.
    • .iloc[] 메서드는 행 번호와 열 번호를 사용하여 데이터를 선택하는 방법이다.

    Pandas 데이터 통계

    • Pandas는 데이터의 통계량을 계산하기 위한 다양한 메서드를 제공한다.
    • .mean(), .median(), .describe(), .agg(), .groupby(), .value_counts() 등을 사용하여 통계 정보를 얻을 수 있다.

    Pandas 행과 열 추가 및 삭제

    • 행을 추가할 때는 DataFrame.loc['새로운행이름'] = 데이터값을 사용한다.
    • 열을 추가할 때는 DataFrame['추가하려는열이름'] = 데이터값을 사용한다.
    • 행이나 열을 삭제할 때는 .drop() 메서드를 사용하여 특정 인덱스나 열을 제거할 수 있다.
    # 2. Pandas 데이터프레임 기본 사용
    import pandas as pd
    
    # 데이터프레임 생성
    data = {'Name': ['Alice', 'Bob', 'Charlie'],
            'Age': [25, 30, 35],
            'Score': [90, 85, 88]}
    df = pd.DataFrame(data)
    
    # 데이터 확인
    print("데이터프레임:\n", df)
    # 데이터프레임:
    #       Name  Age  Score
    # 0    Alice   25     90
    # 1      Bob   30     85
    # 2  Charlie   35     88
    
    print("열 이름:", df.columns)
    # 열 이름: Index(['Name', 'Age', 'Score'], dtype='object')
    print("첫 2개 행:\n", df.head(2))
    # 첫 2개 행:
    #     Name  Age  Score
    # 0  Alice   25     90
    # 1    Bob   30     85
    print("행과 열 개수:", df.shape)
    # 행과 열 개수: (3, 3)
    
    # 특정 열 선택
    print("Name 열:\n", df['Name'])
    # Name 열:
    # 0      Alice
    # 1        Bob
    # 2    Charlie
    # Name: Name, dtype: object
    print("Name과 Score 열:\n", df[['Name', 'Score']])
    # Name과 Score 열:
    #       Name  Score
    # 0    Alice     90
    # 1      Bob     85
    # 2  Charlie     88
    
    # 조건 필터링
    print("Age가 30 이상인 데이터:\n", df[df['Age'] >= 30])
    # Age가 30 이상인 데이터:
    #       Name  Age  Score
    # 1      Bob   30     85
    # 2  Charlie   35     88

    + Pandas, Numpy로 실습해볼 수 있는 데이터

    • Kaggle은 데이터 분석 경진대회를 주최하는 플랫폼으로, 실제 기업 데이터를 다룰 수 있는 기회를 제공한다.
    • Titanic 데이터는 Kaggle의 대표적인 데이터 분석 입문용 데이터셋이다.
    • 이 데이터의 목표는 타이타닉에서 살아남을 수 있는 승객을 예측하는 것이다.
Designed by Tistory.