조건문(If 문)이 필요한 이유우리가 프로그래밍을 할 때 프로그램의 흐름을 제어하는데 필수적인 요소라 할 수 있는 것이 바로 조건문입니다. 프로그래밍이란 결국 사람의 생각하는 방법을 모방하여 문법화한 것이라고 볼 수 있는데요. 특정 조건 또는 선택에 따라 결과가 달라지게 되는 것이죠. 조건문을 잘 활용한다면 프로그램의 유연성과 안정성을 크게 향상시킬 수 있으며 프로그램에서 아래와 같은 역할들을 수행합니다.▪결정적 역할 : 프로그램이 특정 조건을 만족할 때만 특정 코드를 실행(예: 로그인했을 때만 개인 정보를 열람)▪유연성 제공 : 프로그램이 다양한 상황에 적응할 수 있도록 코드 작성 가능(예: 날씨에 따라 다른 옷차림을 추천)▪가독성 향상 : 복잡한 논리를 조건문으로 나누어 작성하므로 다른 개발자들이 ..
엑셀 실습 파일▪예제 코드 실행 후 생성 엑셀 파일 구성예제 코드 01 실행 후 : 엑셀 파일 생성▪ cell_lock_example.xlsx ▪ [A1] 셀 값 입력시 : ▪ [B1] 셀 값 입력시 : ▪ 비밀번호 입력 후(잠금 해제) [A1] 셀 값 입력시 : 예제 코드 02 실행 후 : 엑셀 파일 생성▪advanecd_cell_lock_example.xlsx▪ [A1] 셀 값 입력시 : ▪ [B1] 셀 값 입력시 : ▪ 비밀번호 입력 후(잠금 해제) B열 값 입력시 : 예제 코드 01 - 셀 잠금 설정 ▪ A1 셀 잠금, B1셀 잠금 해제▪ Openpyxl의 ' Protection'을 사용하여 잠금 또는 잠금 해제 설정▪ 시트 보호 설정을 위한 비밀 번호 입력 후 활성화from op..
형 변환(Type Casting)파이썬에서는 데이터 타입을 변환하는 방법으로 명시적(Explict) 형 변환과 암시적(Implict) 형 변환을 제공합니다. 명시적 형 변환은 프로그래머가 직접 특정 데이터 타입으로 변환을 명시하는 것으로, 주로 'int()', 'float()', 'str()', 'list()' 등의 함수를 사용합니다. 반면에 암시적 형 변환은 파이썬이 자동으로 수행하는 변환으로 보통 숫자형 연산에서 일어납니다. 하나씩 살펴보겠습니다. 명시적 형 변환(Explict Type Casting)프로그래머가 직접 명령을 통해 데이터 타입을 변환하는 방법을 의미합니다. 파이썬에서 제공하는 다양한 내장 함수를 이용해 특정 데이터 타입을 다른 데이터 타입으로 변환할 수 있습니다. 주로 다음과 같은 함..
엑셀 실습 파일▪예제 코드 실행 후 생성 엑셀 파일 구성예제 코드 01 실행 후 : 엑셀 파일 생성▪ data_validation_example.xlsx 예제 코드 02 실행 후 : 엑셀 파일 생성▪dropdown_example.xlsx 예제 코드 01 - 특정 셀 규칙 적용 ▪ A1 셀에 1에서 100 사이 숫잠난 입력 가능하도록 설정▪ Openpyxl의 ' worksheet.datavalidation'을 사용하여 조건 설정▪ 특정 범위 내의 숫자만 허용하도록 설정from openpyxl import Workbookfrom openpyxl.worksheet.datavalidation import DataValidation# 워크북 및 시트 생성wb = Workbook()ws = wb.active# 데..
딕셔너리(Dictionary) 딕셔너리(Dictionary)는 키(Key)와 값(Value)으로 구성된 데이터 자료형으로 키를 통해 값을 효율적으로 검색할 수 있습니다. 딕셔너리는 중괄호 ({})를 사용하여 정의되며, 각 키-값 쌍은 콜론(:)으로 구분됩니다. 딕셔너리의 키는 고유해야 하며 변경이 불가능한(Immutable) 데이터 타입만 가능합니다. 값은 중복이 가능하며 다양한 데이터 타입을 지원합니다. 예를 들어, 학생의 이름과 나이를 저장하는 딕셔너리는 다음과 같이 정의할 수 있습니다.딕셔너리 예시student = {'name': 'Alice', 'age': 25, 'major': 'Computer Science'} 딕셔너리 메소드 및 활용법딕셔너리는 데이터를 관리하고 조작하는 다양한 메소드를 제공..
예제 01 : 기본 축 제목과 그래프 제목 추가하기▪ plt.title('Basic Graph with Titles'): 그래프 제목을 추가 ▪ plt.xlabel('X-axis')와 plt.ylabel('Y-axis'): X축과 Y축의 제목을 설정 ▪ plt.legend(): 라벨(label)이 있는 경우 자동으로 범례를 추가 import matplotlib.pyplot as pltimport numpy as np# 데이터 생성x = np.linspace(0, 10, 100)y = np.sin(x)# 기본 라인 그래프 생성plt.plot(x, y, label='Sine Wave')# 축 제목 및 그래프 제목 추가plt.title('Basic Graph with Titles')plt.xlabel('X-a..
배열 연결(concatenate) numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind") 지정된 축을 따라 배열을 연결합니다.▪Parameters ‣ a1, a2, ... : 입력 배열, 특정 축을 기준으로 연결되며 배열들의 차원이 같아야 함 ‣ axis : 축 설정(선택 사항, 기본 값 : 0), "none"으로 설정되면 1차원 배열로 변환하여 연결 ‣ out : 결과를 저장할 배열(선택 사항, 기본 값 : 0), 일반적으로 사용하지 않으며 결과를 새로운 배열이 아닌 특정 배열에 저장하고 싶을 때 사용 ‣ dtype : 데이터 타입(기본 값 : None), 지정되지 않으면..
집합(Set)집합(Set)은 수학의 집합 개념을 바탕으로 만들어졌으며 교집합, 합집합, 차집합 등 다양한 집합 연산을 지원합니다. 중괄호({})로 데이터를 감싸며 순서가 없고 중복된 값을 허용하지 않는 자료형입니다. 예를 들어 {1, 3, 3, 2}이라는 세트는 실제 {1, 2, 3}으로 저장됩니다.중복된 값에 대한 세트 예시# 세트 생성set01 = {1, 2, 3, 4, 5}print('set01 = ', set01)# 중복된 값이 있을 경우set02 = {1, 3, 3, 2, 2}print('set02 = ', set02) 더보기set01 = {1, 2, 3, 4, 5} set02 = {1, 2, 3} 집합 연산에 대한 세트 예시set01 = {1, 2, 3, 4, 5}set02 = {1, 3..
엑셀 실습 파일▪예제 코드 실행 후 생성 엑셀 파일 구성예제 코드 01 실행 후 : 엑셀 파일 생성▪ conditional_formatting_example.xlsx 예제 코드 02 실행 후 : 엑셀 파일 생성▪conditional_formatting_formula_example.xlsx 예제 코드 01 - 지정 값 이상일 경우 배경색 변경 ▪ 값이 80 이상인 셀에 대해 배경색 변경하기 ▪ 'CellsRule'을 사용하여 조건 설정▪ 'PatternFill'을 사용하여 배경색 지정from openpyxl import Workbookfrom openpyxl.styles import PatternFillfrom openpyxl.formatting.rule import CellIsRule# 새 워크북과 워..
mayplotlib.pyplot.barmatplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs) ▪Parameters ‣ [x] : [float or array-like], 막대 그래프의 x 좌표 ‣ [height] : [float or array-like], 높이 ‣ [width] : [float or array-like], 기본 값 : 0.8, 폭 설정 ‣ [bottom] : [float or array-like], 기본 값 : 0, 막대 그래프의 y 좌표 ‣ [align] : {'center', 'edge'}, 기본 값 : 'center',..
엑셀 실습 파일▪예제 코드 실행 후 생성 엑셀 파일 구성예제 코드 01 실행 후 : 엑셀 파일 생성▪ bar_chart_example.xlsx 예제 코드 02 실행 후 : 엑셀 파일 생성▪ line_chart_example.xlsx 예제 코드 03 실행 후 : 엑셀 파일 생성▪ pie_chart_example.xlsx 예제 코드 01 - 막대 그래프(Bar Chart) ▪ chart 모듈 사용(BarChart, Reference 클래스)from openpyxl import Workbookfrom openpyxl.chart import BarChart, Reference# 새 워크북 생성 및 활성화된 워크시트 선택wb = Workbook()ws = wb.active# 데이터 추가data = [ ['C..
튜플(Tuple) 튜플은 파이썬에서 사용되는 또 다른 기본 데이터 타입으로 여러 값을 하나의 변수에 저장할 수 있는 자료형입니다. 리스트와 마찬가지로 쉼표(,)로 데이터를 구분지으며 소괄호(())로 데이터를 감싸주어 사용(리스트는 대괄호([]) 사용)합니다. 리스트와 튜플을 알게되면 가변(mutable)과 불변(immutable)에 대해 알아두어야하는데요. 지난 시간 리스트의 경우 가변(mutable) 특성을 가지므로 요소 변경이 가능하다고 설명 드렸습니다. 반대로 튜플의 경우 불변(immutable) 특성을 가지므로 한 번 생성된 후에는 수정, 추가, 삭제가 불가능하다라는 점 숙지하시고 아래의 리스트와 튜플의 비교 예시를 살펴보도록 하겠습니다.리스트와 튜플 비교 예시my_list = [1, 2, 3]m..
리스트(List)리스트(List)는 파이썬에서 가장 많이 사용되는 데이터 타입 중 하나로 여러 값을 하나의 변수에 저장할 수 있는 데이터 구조입니다. 리스트는 대괄호([])로 감싸고 각 요소는 쉼표(,)로 구분됩니다. 타 언어의 배열 데이터 타입과 유사하게 파이썬에서는 리스트로 처리한다고 생각하면 되겠습니다. 리스트는 다양한 자료형을 저장할 수 있으며 동적으로 크기를 조절할 수 있습니다.예시fruits = ['apple', 'banana', 'cherry']mixed_list = [1, 'hello', 3.14, True] TIP 배열과 리스트 비교▪ 배열은 크기가 고정, 리스트는 가변(mutable)▪ 배열은 동일한 자료형으로만 구성, 리스트는 여러 자료형으로 구성 가능▪ 배열은 값을 저장하는 방식,..
엑셀 실습 파일▪예제 코드 실행 후 생성 엑셀 파일 구성예제 코드 01 실행 후 : 엑셀 파일 생성▪ inserted_rows.xlsx예제 코드 02 실행 후 : 엑셀 파일 생성▪ deleted_rows.xlsx예제 코드 03 실행 후 : 엑셀 파일 생성▪ inserted_cols.xlsx예제 코드 04 실행 후 : 엑셀 파일 생성▪ deleted_cols.xlsx 예제 코드 01 - 행 삽입 ▪ inserted_rows 메소드 사용▪ 초기 데이터 입력 ▪ 두 번째 행에 빈 데이터 삽입 ▪ 엑셀 파일로 저장 from openpyxl import Workbook# 새 워크북 생성wb = Workbook()ws = wb.active# 초기 데이터 입력ws.append(["Header1", "Header2",..
불리언 (Boolean) 불리언(Boolean)은 논리적 참(True)과 거짓(False)을 나타내는 데이터 타입입니다. 어느 프로그래밍 언어든 기본적으로 문자, 숫자, 불리언 데이터 타입은 다 쓰인다고 보시면 되겠습니다. 그 정도로 기본적인 데이터 타입이며 파이썬에서는 불리언 값을 표현하기 위해 대문자 'True'와 'False'를 사용합니다. 불리언은 주로 조건문과 제어문에서 논리적인 판단을 위해 사용되며, 다양한 연산을 통해 값을 비교하거나 논리적인 조합을 만들 때 유용하게 활용됩니다. 기본적으로 조건문에서 특정 조건의 참과 거짓 여부를 평가하는 데 활용되며 파이썬에서는 불리언을 리턴하는 함수나 메서드를 사용합니다.예시 is_raining = Trueis_sunny = False TIP 파이썬에서..
matplotlib.pyplot.scattermatplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)▪Parameters ‣ [x, y] : float or array-like, 데이터 위치 ‣ [s] : float or array-like, (옵션 사항) 기본 값 : rcParams['lines.markersize']** 2 (typograph..
엑셀 실습 파일▪예제 코드 실행 후 생성 엑셀 파일 구성예제 코드 01 실행 후 : 엑셀 파일 생성▪ merged_cells.xlsx예제 코드 02 실행 후 : 예제 코드 01 파일 응용▪ unmerged_cells.xlsx 예제 코드 01 - 셀 병합 ▪ merge_cells 메소드 사용▪ 방법1 : A1에서 C1까지 셀 병합 ▪ 방법2 : (2, 1)에서 (2, 3)까지 셀 병합 (A2:C2) ▪ 병합된 셀의 좌상단 셀에만 데이터 입력 from openpyxl import Workbook# 새 워크북 생성wb = Workbook()# 활성 시트 선택ws = wb.active# 데이터 입력ws['A1'] = 'Merged Cell'# 셀 병합ws.merge_cells('A1:C1') # A1에서 C1..
엑셀 실습 파일▪예제 코드 실행 후 생성 엑셀 파일 구성예제 코드 01 실행 후 : 엑셀 파일 생성▪ colored_cells.xlsx 예제 코드 02 실행 후 : 엑셀 파일 생성 ▪ styled_fonts.xlsx 예제 코드 01 - 배경색 지정하기 ▪ 셀 ['A1'], ['B2']에 배경색 [빨강], [파랑] 지정▪ start_color: 채우기 색상의 시작 색상 (헥사 코드 지정) ▪ end_color: 채우기 색상의 끝 색상 (헥사 코드 지정) ▪ fill_type: 채우기 스타일 ('solid', 'darkGrid', 'lightGrid', 등) from openpyxl import Workbookfrom openpyxl.styles import PatternFill# 새 워크북 생성wb = W..
엑셀 실습 파일 엑셀 파일 구성예제 코드 01 실행 전 : 셀 값 검색 '!' → 개수 및 위치 정보 출력▪ Find Cell Value Example File.xlsx예제 코드 02 실행 후 : 셀 값 '!' → '@' 변경 ▪ Replaced Cell Value Example File.xlsx 셀 값 검색 예제 코드 01▪ 지정한 엑셀 파일의 시트에서 특정 셀 값(!) 검색▪ 검색하는 값이 있을 경우, 일치하는 값의 개수 카운팅 및 Cell 좌표 출력from openpyxl import load_workbookdef search_cell_value(workbook_path, sheet_name, target_value): # Load an excel file wb = load_workbo..
배열 분리(dsplit)numpy.dsplit(ary, indices_or_sections) Python split 함수 참조 배열다루기 | 배열 분리(Numpy.split)배열 분리(Split) numpy.split(ary, indices_or_sections, axis=0) 배열을 여러개의 하위 배열로 분리합니다. ▪Parameters ‣ ary : 입력 배열, ‣ indices_or_sections : 'Integer'인 경우, 축을 따라 동일한 N개의 배열로 분moonnote.tistory.com TIP 차이점은 dsplit은 axis=2에 대해 동등하게 배열을 분리(3D 배열 이상 사용 가능) ▪Parameters ‣ ary : 입력 배열, ‣ indices_or_sectio..
배열 분리(vsplit)numpy.vsplit(ary, indices_or_sections) Python split 함수 참조 배열다루기 | 배열 분리(Numpy.split)배열 분리(Split) numpy.split(ary, indices_or_sections, axis=0) 배열을 여러개의 하위 배열로 분리합니다. ▪Parameters ‣ ary : 입력 배열, ‣ indices_or_sections : 'Integer'인 경우, 축을 따라 동일한 N개의 배열로 분moonnote.tistory.com TIP 차이점은 vsplit은 axis=0에 대해 동등하게 배열을 분리(2D 배열 이상 사용 가능) ▪Parameters ‣ ary : 입력 배열, ‣ indices_or_sectio..
배열 분리(hsplit)numpy.hsplit(ary, indices_or_sections) Python split 함수 참조 배열다루기 | 배열 분리(Numpy.split)배열 분리(Split) numpy.split(ary, indices_or_sections, axis=0) 배열을 여러개의 하위 배열로 분리합니다. ▪Parameters ‣ ary : 입력 배열, ‣ indices_or_sections : 'Integer'인 경우, 축을 따라 동일한 N개의 배열로 분moonnote.tistory.com TIP 차이점은 hsplit은 axis=1에 대해 동등하게 배열을 분리,다만, 1D Array의 경우 axis=0을 기준으로 Split 수행 !! ▪Parameters ‣ ary : 입력 배열..
배열 분리(Array_split)numpy.array_split(ary, indices_or_sections, axis=0) Python split 함수 참조 배열다루기 | 배열 분리(Numpy.split)배열 분리(Split) numpy.split(ary, indices_or_sections, axis=0) 배열을 여러개의 하위 배열로 분리합니다. ▪Parameters ‣ ary : 입력 배열, ‣ indices_or_sections : 'Integer'인 경우, 축을 따라 동일한 N개의 배열로 분moonnote.tistory.com TIP 차이점은 indices_or_sections이 정수 입력만 가능하며 축을 균등하게 분리하지 않음 !! ▪Parameters ‣ ary : 입력 배열, ..
배열 분리(Split)numpy.split(ary, indices_or_sections, axis=0) 배열을 여러개의 하위 배열로 분리합니다.▪Parameters ‣ ary : 입력 배열, ‣ indices_or_sections : 'Integer'인 경우, 축을 따라 동일한 N개의 배열로 분리 '1D Array'인 경우, 축을 따라 지정된 구간을 기준으로 입력 배열을 분리 * 예시: [2, 3]으로 입력할 경우, ary[:2], ary[2:3], ary[3:] 로 분리 ‣ axis : 축 설정(optional) ‣ Returns : sub-arrays(list of ndarrays), 분리된 배열 반환 예제(E..
부모 태그 찾기(Find Parent Function)find_parent(), find_parents() BeautifulSoup에서 지정된 조건에 해당하는 부모 태그를 찾아주는 함수 예제(Example)▪ html_doc 문서(더미 데이터)를 생성하고 find_parent 함수로 Lacie의 a 태그를 검색 from bs4 import BeautifulSouphtml_doc = """The Dormouse's storyOnce upon a time there were three little sisters; and their names wereElsie,Lacie andTillie;and they lived at the bottom of a well...."""soup=BeautifulSoup(html..
내용 찾기(Find Function)find(), find_all() BeautifulSoup에서 지정된 조건에 해당하는 내용을 찾아주는 함수 예제(Example)▪ html_doc 문서(더미 데이터)를 생성하고 find 함수로 a 태그를 검색 (find 함수의 경우 1개만 검색)from bs4 import BeautifulSouphtml_doc = """The Dormouse's storyOnce upon a time there were three little sisters; and their names wereElsie,Lacie andTillie;and they lived at the bottom of a well...."""soup=BeautifulSoup(html_doc, "html.parser..
계층 구조 파싱 함수(Parse Tree Function)prettify() BeautifulSoup에서 파싱 처리한 파서 트리를 유니 코드 형태로 변환해주는 함수 예제(Example)▪ html_doc 문서(더미 데이터)를 생성하고 이를 prettify로 출력from bs4 import BeautifulSouphtml_doc = """The Dormouse's storyOnce upon a time there were three little sisters; and their names wereElsie,Lacie andTillie;and they lived at the bottom of a well...."""soup = BeautifulSoup(html_doc, 'html.parser')print(s..
엑셀 파일(실행 후 결과 값) 엑셀 파일 구성코드 실행 후 파일 저장▪ [Exam 01]Remove_duplicates_by_row.xlsx▪ [Exam 02]Remove_duplicates_by_column.xlsx 중복 제거 예제 코드 01 (행 기준)▪ DataFrame을 사용하여 중복 데이터가 있는 테이블을 생성▪ dataframe_to_rows 함수를 사용하여 DataFrame의 데이터를 시트에 작성▪ iter_rows 메서드를 사용하여 시트의 모든 행을 가져오고, seen 집합을 사용하여 중복 데이터를 확인▪ 중복이 없는 행은 rows_without_duplicates 리스트에 추가 후 중복 제거된 데이터만 시트에 작성from openpyxl import Workbookfrom openpyx..
배열 차원 변경(Reshape Function)numpy.reshape(a, newshape, order='C') 배열의 차원을 변경합니다.▪Parameters ‣ a : 입력 배열, ‣ newshape : 변경할 차원 지정, *설명 ‣ order : 'C', 'F', 'A' 중 선택 사항, 'C' (C-like order): C 스타일의 인덱스 순서를 의미(예: 2차원 배열에서 행(row) 우선으로 요소에 접근) 'F' (Fortran-like order): Fortran 스타일의 인덱스 순서를 의미(예: 2차원 배열에서 열(col) 우선으로 요소에 접근) 'A' (Any order): 메모리에서 Fortran 형식으로 연속..
배열 차원 및 크기 반환(Shape Function)numpy.shape(a) 배열의 차원과 크기를 반환합니다.▪Parameters ‣ a : 입력 배열, ‣ Returns : Shape, 배열 크기 반환 예제(Example)import numpy as npa = np.array([1, 2, 3, 4, 5])shape = np.shape(a)print(shape) # Output: (5,) 더보기( 5 ) import numpy as npa = np.array([[1, 2, 3], [4, 5, 6]])shape = np.shape(a)print(shape) # Output: (2, 3) 더보기(2,3) import numpy as npa = np.array([[[1, 2], [..