AI/Python(14)
-
데이터 분석 - 판다스 (2)
판다스(Pandas)는 Python에서 데이터를 쉽고 효율적으로 분석하고 처리하기 위해 사용하는 대표적인 데이터 분석 라이브러리이다. 엑셀과 비슷한 형태의 표(Tabular Data)를 다룰 수 있으며, Series와 DataFrame 이라는 강력한 자료구조를 제공한다. CSV, Excel, SQL 등의 다양한 데이터 파일을 불러와 정렬, 필터링, 결측치 처리, 통계 분석 등을 간편하게 수행할 수 있으며, 대량의 데이터를 빠르게 가공할 수 있다. 설치방법pip install pandaspython -m pip install pandas 첫번째 방법은 글로벌 설치이고, 두번째는 가상 환경 내의 설치이다. 또한 외부 라이브러리이므로, 사용하려면 import 문으로 라이브러리를 불러와야 한다.import pa..
2026.05.31 -
데이터 분석 - 넘파이 (1)
Python의 대표적인 데이터 분석 라이브러리로써, Python에서 수치 계산과 데이터 분석을 효율적으로 수행하기 위해 사용한다. 특히 다차원 배열(ndArray) 객체를 중심으로 동작하며 대용량 데이터를 빠르고, 메모리 효율적으로 처리할 수 있다. 일반 Python 리스트보다 훨씬 빠른 연산 속도를 제공하며, 벡터 연산, 행렬 연산, 통계 처리, 선형 대수, 난수 생성 등 다양한 수학 기능을 지원한다. 다차원 배열(ndArray) 넘파이의 핵심 자료 구조이다. 동일한 Data Type을 가지는 데이터를 다차원 형태로 저장하고 빠르게 연산할 수 있도록 만든 배열 객체이다. 일반 Python 리스트보다 메모리 사용량이 적고 연산 속도가 매우 빠르며, 벡터 연산과 브로드캐스팅 기능을 통해 반복문 없이도 대량..
2026.05.23 -
Python의 기본 - 모듈 (12)
Python에서 모듈(Module)은 관련된 함수, 클래스, 변수들을 하나의 파일(.py)으로 묶어 재사용할 수 있게 만든 코드 단위이다. 모듈을 사용하면, 프로그램을 기능별로 나누어 관리할 수 있어 코드의 가독성과 유지보수성이 향상되며 다른 파일에서도 import 파일로 불러와 사용할 수 있다. Python은 기본적으로 다양한 표준 라이브러리 모듈을 제공하고 사용자가 직접 만든 모듈도 동일한 방식으로 사용한다. # fruit.pyPI = 3.14def print_fruit(name): print(f"{name}입니다.")def add_quantity(quantity, amount): return quantity + amountclass Fruit: def __init__(self, n..
2026.05.23 -
Python의 기본 - 매직 메서드 (11)
매직 메서드(Magic Method)란, Python에서 특정 문법이나 연산이 될 때 자동으로 실행되는 특별한 메소드로 __len__, __str__, __getItem__ 처럼 양쪽 끝에 __이 붙는 형태를 가진다. 이 메소드들을 클래스에 구현하면, Python의 기본 문법과 자연스레 연결되어 객체의 동작을 직접 정의할 수 있다. 즉, 매직 메소드는 객체를 리스트처럼 사용하거나 연산을 수행하거나 출력 형태를 바꾸는 등 Python의 문법과 객체를 이어주는 핵심 기능이다. 객체 출력 1. __str__() 객체를 사람이 읽기 쉬운 문자열로 표현하기 위해 사용하며, print(obj)나, str(obj)가 호출 될 때 자동으로 실행된다. 이 메소드를 클래스에 정의(오버라이딩)하면 객체를 출력할 때 기본 주..
2026.05.23 -
Python의 기본 - 예외 처리 (10)
프로그램을 작성하다보면, 프로그램 실행 중 발생할 수 있는 예상치 못한 오류 상황을 맞닥들이게 될 수 있는데 그런 것을 예외라고 부른다. 예외가 발생하면, 프로그램이 중단되거나, 종료되므로 이를 적절하게 처리하여 중단을 방지하거나 오류에 대한 정보를 사용자에게 제공해야 한다. 앞서 메소드에서 어떤 메소드는 에러를 내뿜는 메소드가 있고 그렇지 않은 메소드가 있다고 배웠었다. 에러를 내뿜는 메소드는 이 에러를 처리할 수 있다고 말한적이 있다. 다음과 같은 코드를 실행해보자. int(10 / 3)print(5 / 0) # ZeroDivisionError: division by zeroprint(4 / 2) 첫번째 줄 실행에는 큰 문제가 없다. 두번째 줄은 숫자는 0으로 나눌 수 없으므로, 에러가 뜬다. 문제..
2026.05.23 -
Python의 기본 - 객체 지향 프로그래밍의 패러다임 (9)
객체 지향 프로그래밍 (OOP)의 4대 패러다임에는 캡슐화, 상속, 다형성, 추상화가 있다. 캡슐화는 데이터(속성)과 기능(메서드)를 하나로 묶고, 외부에서 직접 접근을 제한하여, 객체를 보호하는 개념이다. 상속은 기존 클래스의 속성과 메서드를 물려받아, 재사용하고 확장하는 구조를 가진다. 다형성은 같은 이름의 메소드라도, 객체의 종류에 따라 다르게 동작할 수 있게 하는 특징이다. (코드 유연성 up) 추상화는 복잡한 내부 구현은 숨기고, 핵심적인 기능만 외부에 제공하는 것으로, 사용자는 내부 구조를 몰라도 객체를 쉽게 사용할 수 있다는 개념이다. 이 4가지 개념을 통해, 코드의 재사용성, 확장성, 유지보수성을 크게 확장시킬 수 있다. 캡슐화 객체 지향 프로그래밍에서 데이터(속성)와 이를 처리하는 메소드..
2026.05.17