강의/프로그래밍 기초

[프로그래밍 기초] Python | 유용한 문법들

da-hong 2025. 5. 27. 21:08

파일 불러오기 및 저장하기 

csv, excel / json, txt

  • 인덱스 포함 여부 설정 두 가지 방법 
data.to_csv("tips.csv", index = False) # 데이터 저장할 때 인덱스 미포함
pd.read_csv("tips.csv", index_col=0)   # 데이터 불러올 때 인덱스 미포함

 

패키지(라이브러리) 사용하기 

import pandas as pd               # 데이터 조작과 분서
import numpy as np                # 다차원 배열과 행렬 연산
import matplotlib.pyplot as plt   # 데이터 시각화
import seaborn as sns             # 통계용 데이터 시각화
import statsmodels                # 통계 분석 
import sklearn                    # 머신러닝 
import tensorflow as tf           # 딥러닝
import pytorch                    # 딥러닝

 

포맷팅(formatting)

- 문자열과 변수를 함께 출력하는 편리한 방법

- f-string 포맷팅을 사용하려면 문자열 맨 앞에 f를 집어넣고 내가 놓고자 하는 변수의 위치에 중괄호{}를 사용하여 변수와 함께 기입

x = 10
print(f"변수 x의 값은 {x}입니다.")

 

리스트 컴프리헨션 

- 대괄호 안에 반복문과 조건문을 사용하여 리스트를 간결하게 생성하는 방법 

- (빈 리스트와 append를 안 써도 된다.)

[표현식 for 항목 in iterable if 조건문]

 

lambda 사용하기

- 함수명 없이 lambda 키워드를 사용하여 매개변수와 결과만 한 줄로 작성하는 방법 

- 데이터 분석 시 유용

변수 = lambda 매개변수 : 함수 실행 코드
  • filter( ) : 여러 개의 데이터로부터 조건을 충족하는 데이터만 추출할 때 사용하는 함수

filter의 조건으로 lambda를 사용한 예시

  • map( ) : 여러 개의 값을 받아서 각각의 값에 함수를 적용한 결과를 반환한 내장함수

map의 함수로 lambda를 사용한 예시

 

glob 사용하기

- 파일 이름의 패턴 매칭을 통해 파일을 검색하고, 일치하는 파일들의 리스트를 반환하는 함수

 

split 사용하기

- 문자열을 특정 구분자를 기준으로 분할하여 리스트로 변환하는 메서드 (구분자가 없으면 공백 기준으로 분할)

  •  join( )   : 리스트의 각 항목을 특정 구분자를 이용하여 문자열로 결합하는 메서드 

  •  rsplit()  :오른쪽에서부터 최대 1회만 분할하도록 설정하여 파일명과 디렉토리로 나눌 수 있다. 

 

클래스 

- 클래스는 객체를 만들기 위한 틀 또는 설계도이다. 클래스를 사용하여 여러 객체를 생성할 수 있다. (객체 지향 프로그래밍)

- 메서드(Method) : 클래스 내부에 정의된 함수

- 속성(Attribute) : 클래스나 클래스의 인스턴스에 속한 변수 

- 데이터 분석에서는  주로 데이터의 구조화, 모델링, 분석 작업의 모듈화, 코드의 재사용성 등을 위해 클래스를 활용

# 클래스의 기본구조
class ClassName:
    def __init__(self, parameter1, parameter2):   # __init__ 메서드는 클래스의 생성자, 초기화 작업
        self.attribute1 = parameter1              # 메서드의 첫 번째 매개변수로 self를 반드시 사용해야 함
        self.attribute2 = parameter2   # 속성(Attribute)

    def method1(self, parameter1, parameter2):  # 메서드(Method)
    # 메서드 내용 작성
        pass

 

 

불리언 인덱싱

- 주어진 조건에 따라 배열이나 리스트에서 요소를 선택할 수 있게 해주는 강력한 도구

- 파이썬에서는 NumPy를 사용하여 불리언 인덱싱을 수행할 수 있고, Pandas에서 데이터를 조건에 맞게 선택할 때 많이 사용

 


 

❓ Quiz

1. 리스트 컴프리헨션

다음 코드의 출력을 예측해 보세요.

squares = [x**2 for x in range(1, 6)]
print(squares)

  ->  [1, 4, 9, 16, 25]

 

2. 클래스

평균을 계산하는 클래스를 완성하고 실제로 클래스를 선언하여 계산된 결과 까지도 출력해 보세요.