전체 글 134

[NumPy] 배열의 인덱싱과 슬라이싱

# 배열의 인덱싱(Indexing) 배열의 위치나 조건을 지정해 배열의 원소를 선택하는 것 1차원 배열에서 특정 위치의 원소를 선택하는 경우 배열명[위치] # 1차원 배열 생성 a1 = np.array([0, 10, 20, 30, 40, 50]) a1 # array([ 0, 10, 20, 30, 40, 50]) a1[4] # 40 # 원소의 값 변경 a1[5] = 70 a1 # array([ 0, 10, 20, 30, 40, 70]) 1차원 배열에서 여러 개의 원소를 선택하는 경우 배열명[[위치1, 위치2, ..., 위치n]] # 리스트를 통해 추출: 인덱스 위치를 리스트화 a1[[0, 2, 4]] # array([ 0, 20, 40]) idx_list = [0, 2, 4] a1[idx_list] # a..

Python 2024.01.17

[NumPy] 배열의 연산

# 기본 연산 arr1 = np.array([10, 20, 30, 40]) arr2 = np.array([1, 2, 3, 4]) # 덧셈 print(arr1 + arr2) # [11 22 33 44] # 뺄셈 print(arr1 - arr2) # [ 9 18 27 36] # 곱셈 print(arr1 * arr2) # [ 10 40 90 160] # 나눗셈 print(arr1 / arr2) # [10. 10. 10. 10.] 비교 연산 arr1 > 20 # array([False, False, True, True]) # 통계를 위한 연산 # 배열 생성 arr3 = np.arange(5) arr3 # array([0, 1, 2, 3, 4]) 배열의 합 arr3.sum() # 10 배열의 평균 arr3.mea..

Python 2024.01.17

[NumPy] np.random.randint를 이용하여 로또 번호 생성기 만들기

# 로또 번호 생성기 1~45 사이 난수 7개 생성(로또 당첨 번호 6개 + 보너스 번호 1개) 중복되는 번호가 없어야 함 오름차순으로 정렬 # 방법 1 import numpy as np # Initialize an empty list for lotto numbers. lotto = [] # Generate 6 unique lotto numbers between 1 and 45. for i in range(6): # Generate a random number and ensure it's not a duplicate. num = np.random.randint(1, 46) while num in lotto: num = np.random.randint(1, 46) lotto.append(num) # Sor..

Python 2024.01.17

[NumPy] 배열 생성

# NumPy 파이썬으로 과학 연산을 쉽고 빠르게 할 수 있게 만든 패키지 다차원 배열 데이터를 효과적으로 처리할 수 있다. # NumPy 패키지 불러오기 import numpy as np # 시퀀스 데이터로부터 배열 생성하기 arr_obj = np.array(seq_data) # 정수로 구성된 리스트로 배열 생성하기 data1 = [0, 1, 2, 3, 4, 5] a1 = np.array(data1) a1 # array([0, 1, 2, 3, 4, 5]) a1.dtype # dtype('int32') # 정수와 실수가 혼합된 리스트로 배열 생성하기 data2 = [0.1, 5, 4, 12, 0.5] a2 = np.array(data2) a2 # array([ 0.1, 5. , 4. , 12. , 0.5..

Python 2024.01.17

[Python] 가상 환경 사용하기

# 가상 환경(virtual environment) 파이썬 프로젝트를 위한 독립된 환경을 만드는 도구 각 프로젝트에서 필요한 라이브러리와 패키지의 버전을 독립적으로 관리할 수 있다. 프로젝트 간 충돌을 방지하고, 특정 프로젝트에서 필요한 패키지를 필요한 버전으로 사용할 수 있다. # 가상 환경을 사용하는 이유 Dependency Management 프로젝트마다 필요한 라이브러리와 패키지의 버전이 다를 수 있다. 가상 환경을 사용하면 각 프로젝트가 필요로 하는 패키지 버전을 독립적으로 관리할 수 있다. Project Isolation 가상 환경을 사용하면 각 프로젝트가 독립적인 공간에서 실행되므로, 하나의 프로젝트에서 발생하는 문제가 다른 프로젝트에 영향을 미치지 않는다. Preventing Version..

Python 2024.01.16

[Kaggle] 30대와 40대 이탈 고객의 특징 비교분석 (Playground S4E1)

# 프로젝트 개요 멀티캠퍼스 멀티잇 데이터 분석 & 엔지니어 34회차 미니 프로젝트 주제: 30대와 40대 이탈 고객의 특징 비교분석 진행 일시: 2024.01.15 ~ 2024.01.17 # 사용된 라이브러리 Numpy Pandas Matplotlib Seaborn scipy import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import scipy as sp # 데이터 설명 Bank Customer Churn Prediction dataset을 기반으로 한 딥러닝을 통해 생성된 데이터 https://www.kaggle.com/competitions/playground-series-s4e1..

Project 2024.01.16

[Python] 클래스 상속

# 클래스 상속 기존 클래스를 기반으로 새로운 클래스를 정의하는 개념 코드 재사용과 계층 구조의 정의를 가능하게 한다. 새로운 클래스가 이미 존재하는 클래스의 속성과 메서드를 상속받아 사용하는 것 # 부모 클래스에서 상속받는 자식 클래스를 선언하는 형식 class 자식 클래스 이름(부모 클래스 이름): class Animal: def __init__(self, name): self.name = name def speak(self): pass # 이 메서드는 하위 클래스에서 구현될 것임 class Dog(Animal): def speak(self): return f"{self.name} says Woof!" class Cat(Animal): def speak(self): return f"{self.name..

Python 2024.01.12

[Python] Docstring

# Docstring 모듈, 함수, 클래스 또는 메서드 정의에서 첫 번째 문으로 나타나는 문자열 리터럴 코드의 목적, 사용법 및 동작에 관한 문서화를 제공하는 데 사용한다. 코드를 더 읽기 쉽게 만들고 사용자 및 개발자에게 유용한 정보를 제공한다. 세 개의 따옴표로 둘러싸여 있으며, 정의문 바로 다음에 배치한다. def add_numbers(a, b): """ This function adds two numbers and returns the result. Parameters: a (int): The first number. b (int): The second number. Returns: int: The sum of the two numbers. """ return a + b print(add_numb..

Python 2024.01.12

[Python] 리스트 컴프리헨션(List comprehension)

# 리스트 컴프리헨션(List comprehension) 리스트 내에서 실행할 수 있는 한 줄 for 문 리스트 내에 코드가 내포돼 실행된다. # 리스트 컴프리헨션의 기본 구조 [ for in ] # 숫자 제곱하기 # for 문 numbers = [1, 2, 3, 4, 5] square = [] for i in numbers: square.append(i ** 2) print(square) # [1, 4, 9, 16, 25] # 리스트 컴프리헨션 numbers = [1, 2, 3, 4, 5] square = [i ** 2 for i in numbers] print(square) # [1, 4, 9, 16, 25] # 조건문을 포함한 리스트 컴프리헨션 [ for in if ] 반복문을 수행하다가 if 을 ..

Python 2024.01.12

[Python] break와 continue

# break 반복문을 빠져나온다. # break를 이용해 while 문 빠져나오기 i = 0 while True: i = i + 1 # i가 1씩 증가 if(i > 3): # i가 3보다 크면 break # break로 while 문을 빠져나옴 print(i) # i 출력 # 1 # 2 # 3 # break를 이용해 for 문 빠져나오기 for i in range(10): if(i > 2): # i가 2보다 크면 break # break로 for 문을 빠져나옴 print(i) # i 출력 # 0 # 1 # 2 # continue 반복문의 처음으로 돌아가서 다음 반복을 진행한다. # for 문에서 continue 이용하기 for i in range(5): if(i == 2): continue print(..

Python 2024.01.12
728x90