내일배움캠프/Python
-
시계열 데이터의 개요내일배움캠프/Python 2024. 9. 24. 19:07
시계열 분석이란 과거의 흐름으로 미래를 예측하는 방법론 중 하나입니다. Meta사의 prophet모델LSTM, RNN, Transformer 등시계열 분석을 위한 여러 모델이 있습니다. 시계열 예측의 이해 시계열 데이터란시간에 따라서 정렬된 데이터로주기적으로 기록되며,동일한 시간단계로 분포되어 있습니다. 일평균기온, 가정의 전기 소비, 주가가대표적인 시계열 데이터입니다. 시계열의 구성요소 시계열 분해를 통해서 다음 구성요소를 쉽게 파악할 수 있습니다. 추세시간이 지남에 따라지속적이고 일관된 방향으로 변화하는 장기적 패턴을 가집니다. 계절성일정한 시간 주기(고정된 주기)에 따라 반복되는 패턴을 가지며보통 연간 주기를 따르고, 반복적인 변동을 보입니다. 여름철 아이스크림 판매량 증가, 블랙프라이데..
-
[Python] 자료구조 - 리스트내일배움캠프/Python 2024. 8. 7. 19:16
리스트 리스트는 스택, 큐와는 달리 자료에 대한 접근에 제한이 없습니다.즉, 어느 위치에서든 요소를 삽입하고 삭제할 수 있습니다.요소의 중복도 허용되고, 순서도 있어서 인덱싱으로 자료 접근도 쉬워서자료 구조 중에서 가장 활용이 자유롭고 많이 사용됩니다. 리스트는 크게 배열 구조와 연결된 구조를 가집니다. 배열 구조 배열 구조는 우리가 잘 아는 일반적인 구조로빈자리가 없이 반드시 메모리의 연속된 공간에 저장됩니다. 용량이 고정되어 있어용량을 줄이거나 늘리기 힘들어서메모리 낭비가 되거나 포화상태가 되기 쉽습니다. 요소를 삽입할 때는삽입한 요소의 뒤의 요소들을 모두 한 칸씩 밀어야 하고, 요소를 삭제할 때는삭제하고 생긴 빈 공간을 채우기 위해서삭제한 요소의 뒤의 요소들을 모두 한 칸씩 당겨야 합니..
-
[Python] 자료구조 - 스택 코딩 문제내일배움캠프/Python 2024. 8. 6. 20:14
이번에는 leetcode에서 스택 문제를 풀어봤습니다. 원하는 주제의 문제만 푸는 방법은leetcode에서 이렇게 태그를 지정해주면 풀고자하는 개념과 관련된 문제를 풀어볼 수 있습니다. 저는 이렇게 스택을 지정해줬습니다. 스택 구현 아래는 스택을 파이썬을 통해 구현하는아주 기초적인 방법입니다. stack = list()리스트를 이용해 스택을 만들어 줍니다.stack.append()append 함수를 사용해 스택에 요소를 삽입합니다.stack.pop()pop 함수를 사용해 스택의 요소를 삭제합니다. 1번 문제 https://leetcode.com/problems/baseball-game/submissions/1346427011/ 먼저 answer이라는 스택을 만들어줬습니다.조건에 맞는 것의 추..
-
[Python] 자료구조 - 큐와 덱 이해하기내일배움캠프/Python 2024. 8. 5. 19:38
큐 큐는 Queue로 '대기 줄'을 의미합니다.보통 놀이공원에서 줄을 설 때 먼저 줄을 선 사람이 먼저 입장하게 됩니다.마찬가지로 큐는 가장 먼저 들어간 자료가 가장 먼저 나오는 자료 구조입니다. 편의점에서 일해보셨던 경험이 있으셨던 분들은 익숙하겠지만'선입선출'과도 같은 개념입니다. 우유를 진열한다고 가정해보면제일 먼저 들어온 우유는 가장 전단에 배치하고제일 늦게 들어온 우유는 가장 후단에 배치합니다. 그리고 유통기한이 지난 우유를 폐기처분할 때는전단에 있는 우유를 꺼내서 폐기처분을 하게 됩니다. 나머지 우유는 앞으로 한 칸씩 앞으로 당겨 배치하게 되죠.. 큐도 마찬가지로새로 들어오는 데이터는 후단에 배치하고전단에 있는 데이터를 삭제하게 됩니다. 데이터를 삭제할 때는뒤에 있는 데이터를 한 칸 ..
-
[Python] 자료구조 - 스택내일배움캠프/Python 2024. 8. 2. 18:30
프로그래머스 lv 0과 lv 1은어찌저찌해서 풀 수 있었으나lv 2부터는 정말 기본기가 탄탄하지 않으면풀기 힘들겠다고 느꼈습니다.. 파이썬 알고리즘 문제 때문에 힘든 나날을 보내던 도중 https://brunch.co.kr/@jihyun-um/41 코딩 테스트 4단계 공부법개발자 코딩 테스트 준비 방법 | 코딩 테스트는 개발자 면접의 꽃입니다. 기술 면접에서 가장 흔하게 볼 수 있는 방식이지만, 동시에 가장 어려운 방식이기도 하죠. 코딩 테스트에 나오는 알고brunch.co.kr 이 블로그를 발견하게 되었는데요, 이 블로그의 저자는 연습 문제를 풀기에 앞서 이론을 탄탄히 다지는 단계가 필요하다고 합니다.이론을 공부하지 않고 닥치는 대로 문제만 푸는 것을부실한 토지에 건물을 올리는 것이라고 비유합니다. 그..
-
[Python] 파이썬 소수 구하기 알고리즘내일배움캠프/Python 2024. 7. 24. 21:31
그 동안 소수 구하는 문제를 만나면항상 시간 복잡도 때문에 고통을 받았습니다. 그 동안은 어찌저찌 넘어왔으나이번에는 소수 구하기 단 한 문제로 하루 종일 고통을 겪었습니다. 그래서 이번에는 소수 구하는 방법에 대해서 확실히하고 넘어가야겠다는 생각이 들었습니다.. 저번에 쓴 글 파이썬 문제해결전략에서소수와 관련된 문제를 풀기 위해서는 "에라토스테네스의 체"를알고리즘으로 구현해야할 필요성에 대해 역설했습니다. 그래서 저는 이번에"에라토스테네스의 체" 개념을 이용해서문제를 풀기 위해 시도해봤습니다. 먼저 "에라토스테네스의 체" 개념을 간략하게 설명하자면..소수의 배수들을 제외시키는 것입니다. 비유하자면 체에 모래를 넣었을 때고운 모래만 나오는 것처럼 숫자를 넣었을 때소수만 빠져나오는 것는 것입니다. ..
-
[Pandas] 집계함수 살펴보기내일배움캠프/Python 2024. 7. 22. 21:27
오늘은 pandas의 집계함수인 pivot, pivot_table 그리고 groupby에 대해서알아보려고 합니다. 얼핏보면 비슷하지만 많이 달라서 자세하게 알고 있어야나중에 필요할 때 제대로 사용할 수 있 수 있습니다. 일단 오늘 사용할 데이터 프레임 하나를 만들었습니다.날짜와 지역, 그리고 카테고리별로 판매량과 이익이 나와있습니다. Pivot pivot 테이블은 복잡한 데이터 프레임에서필요한 몇 개의 행과 열을 가져와새로운 데이터 프레임을 가져오는 역할을 합니다. pivot은데이터프레임 명.pivot(index = '인덱스 명', columns = '컬럼 명', values = '값 명')문법을 가지고 있습니다. 날짜를 인덱스로 지역을 컬럼으로 총판매를 값으로 넣어서새로운 데이터프레임을 만들어..
-
[Python] for문에서 리스트를 사용할 때 주의해야하는 것내일배움캠프/Python 2024. 7. 19. 21:27
for문에서 반복 가능한 객체의 요소 삭제 for i in section: for j in section: if j in range(i,i+m) section.remove(j) cnt += 1 for문은 반복 가능한 객체의 요소를 할당해서 반복을 하게 되는데요,요소를 삭제하게 되면 원하는 결과가 나오지 않을 수도 있습니다. 그 이유는 for문이 요소를 가져오는 방법에 의해 생기는 것입니다. 반복 가능한 객체 section에서 직접 요소를 가져오는 방식인for i in section이든반복 가능한 객체 section에 인덱스 번호를 할당하여 불러오는 방식인for i in range(len(section))이든for문은 해당 반복 가능..