본문 바로가기
반응형

Python10

[Python] zip 함수 - 길이가 동일한 iterable 연산 길이가 같은 리스트, 튜플 등의 iterable의 요소들을 묶어서 하나의 zip 객체로 리턴해주는 함수 1. 리스트끼리 연산 dummy_list1 = [1, 2, 3, 4, 5] dummy_list2 = [1, 10, 100, 1000, 10000] print("결과:", [i * j for i, j in zip(dummy_list1, dummy_list2)]) dummy_list1 = [1, 2, 3, 4, 5] dummy_list2 = [1, 10, 100, 1000, 10000] dummy_list3 = [-1, -10, -100, -1000, -10000] print("결과:", [i * j + k for i, j, k in zip(dummy_list1, dummy_list2, dummy_list.. 2023. 6. 14.
[Python] sum 함수 - sum의 인자 iterable, start에 대하여 sum 함수의 인자 iterable은 리스트, 튜플과 같은 자료형을 의미하며, numeric으로만 구성되어 있어야 한다. 그동안 항상 sum(iterable) 으로만 사용했었는데, start 인자도 활용할 수 있다는 걸 알게 되었다. 😆 1. sum(iterable) dummy_list = [1, 2, 3, 4, 5] print("결과:", sum(dummy_list)) 2. sum(iterable, start) start의 default 값은 0이고, 다른 값을 넣게 되면 덧셈의 시작 값이 변경된다. dummy_list = [1, 2, 3, 4, 5] print("결과:", sum(dummy_list, start=10)) start를 숫자가 아닌, 리스트로 넣을 수도 있다. 물론 iterable이 이중.. 2023. 6. 14.
[Python] map 함수 - function, lambda map( )은 function과 리스트, 튜플 등 iterable 을 인자로 받아 map 객체로 리턴 1. function을 사용하는 경우 dummy_list = [1,2,3,4,5] def square(i): return i**2 list(map(square, dummy_list)) 2. python 기본 모듈을 사용하는 경우 dummy_list = [1,2,3,10,11] max(map(min, enumerate(dummy_list))) 3. lambda를 사용하는 경우 dummy_list = [1,2,3,4,5] list(map(lambda x: x**2, dummy_list)) 2023. 6. 13.
[Python] Collections - Counter 객체로 key, value 쌍 생성 - collections 모듈의 Counter 클래스는 별도 패키치 설치가 필요 없으므로, import해서 사용 - Counter 클래스는 list, tuple, set 객체를 이용하여 key-value 쌍 생성 import collections dummy_list1 = ["a", "c", "b", "a"] print(collections.Counter(dummy_list1)) 2개의 Counter 객체는 빼고 더하는 것이 가능함 import collections dummy_list1 = ["a", "c", "b","a"] dummy_list2 = ["b", "a", "c", "d"] counter1 = collections.Counter(dummy_list1) counter2 = collections... 2023. 6. 13.
[Python] list 정렬 - sort, sorted의 차이 1. sort() list 객체를 정렬하는 함수 dummy_list = ["x", "c", "a", "e", "f"] dummy_list.sort() print("결과:", dummy_list) list 객체에 string과 integer가 섞여있는 경우 sort() 동작하지 않음 dummy_list = ["x", "c", "a", "e", 5, "f", 1] dummy_list.sort() print("결과:", dummy_list) list 객체에 string과 integer가 이중 list 안에 들어있는 경우 아래와 같이 동작 dummy_list = [["x", 1, 3], ["c", 5, 2], ["a", 3, 2]] dummy_list.sort(key=lambda x:[x[2],x[0]]) pr.. 2023. 6. 13.
[Python] Visual Studio Code에서 가상환경 만들기 Python 가상환경 및 패키지 설치하는 방법 1. cmd terminal 열기 2. 가상환경 생성 2-1. venv를 사용하는 경우 python -m venv 가상환경이름 2-2. virtualenv를 사용하는 경우 python 버전 지정 가능 virtualenv 가상환경이름 --python=python3.9 3. 가상환경 활성화/비활성화 하는 방법 3-1. cmd terminal에서 활성화 가상환경명\Scripts\activate.bat * 가상환경 디렉토리 안으로 경로 이동한 후에 수행할 것 3-2. Visual Studio Code에서 활성화 Ctrl + Shift + p 입력 > Python: Select Interpreter 선택 > 가상환경 선택 3-3 cmd에서 가상환경 비활성화 deact.. 2022. 3. 2.
[Python] Numpy Broadcasting 개념 Numpy 라이브러리에서 브로드캐스팅(Broadcasting)이란: 산술 연산 대상이 되는 배열(array)들의 모양(shape)이 다른 경우에도, 연산이 가능하도록 배열들의 모양을 처리하는 방법을 의미한다. 더 작은 배열이 큰 배열의 모양에 맞춰지는 방식으로 작동하고, 벡터화를 가능하도록 하여, loop가 python이 아닌 C에서 수행되도록 한다. 브로드캐스팅을 활용하면, 불필요한 사본을 생성하지 않아도 되기 때문에 효율적인 코드를 작성할 수 있다. * 종종 큰 배열에 대한 브로드캐스팅 연산으로 메모리를 비효율적으로 사용하거나, 차원이 커져서 코드 해석이 어려운 경우에는 outer loop를 사용하는 것이 더 좋다. Numpy 공식 문서에서 아래와 같이 해당 개념에 대한 설명을 제공하고 있다. 브로드.. 2022. 2. 24.
[Simulation] SimPy 패키지로 스타벅스 예제 만들기 (2) 지난 포스팅에서 SimPy를 활용하여, 매우 간단한 Simulator를 만들어보았다. 2021.08.29 - [Python] - [Simulation] SimPy 패키지로 스타벅스 예제 만들기 (1) [Simulation] SimPy 패키지로 스타벅스 예제 만들기 (1) 이번 시간에는 스타벅스 시뮬레이션 예제를 만들어보며 SimPy 패키지 활용법을 알아보고자 한다. * 그냥 카페 시뮬레이션인데, 스타벅스 예제라고 이름 붙였다. (●'◡'●) 1. Python SimPy 패키지 프 studying-haeung.tistory.com 이번에는 카페 상황을 약간 바꾸고, 지난 번에는 Customer 클래스 안에 모든 내용을 다 넣었다면, 이번에는 Customer, Activity, Simulator 클래스를 따.. 2021. 8. 29.
[Simulation] SimPy 패키지로 스타벅스 예제 만들기 (1) 이번 시간에는 스타벅스 시뮬레이션 예제를 만들어보며 SimPy 패키지 활용법을 알아보고자 한다. * 그냥 카페 시뮬레이션인데, 스타벅스 예제라고 이름 붙였다. (●'◡'●) 1. Python SimPy 패키지 프로세스 기반의 이산-이벤트 시뮬레이션(discrete-event simulation) 모델을 생성할 수 있는 Python 패키지이며, 기존 다른 패키지처럼 pip로 설치가 가능하다. 시뮬레이션을 위한 가상환경을 구성하고 설치를 해 주는 것이 좋다. 관련 내용은 아래의 SimPy document 페이지를 참고하면 된다. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2. Starbucks-01 시뮬레이션 예.. 2021. 8. 29.
[Python] Jupyter notebook에서 .Rdata파일을 .csv 파일로 변환 Jupyter notebook에서 .Rdata형식의 파일을 읽어와야 하는 경우가 종종있다. 이 시간에는 Jupyter notebook에서 R을 사용할 수 있는 환경을 구성하고, .Rdata파일을 .csv 파일로 변환하는 방법을 알아보려고 한다. Anaconda 환경에서 Jupyter notebook을 사용하고 있다면, 아래와 같이 Anaconda Prompt에서 간단히 R 커널을 설치할 수 있다. Anaconda Prompt 창을 열고, 다음 명령어를 입력해준다. conda install -c r r-irkernel 설치 중간에 Proceed([y]/n)? 가 나오면, 'y' 입력해준다. 설치가 완료되면 아래와 같이 'R' 커널이 새롭게 생긴다. 'R' 커널에서 새로운 notebook을 열고 csv로 변.. 2021. 5. 18.
반응형