전체 글
![[Pandas] groupby 2.0 version 이후](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF5t4q%2Fbtszb2CYxzQ%2Fbv8T84o6iKSi8GA1BkaJYK%2Fimg.png)
[Pandas] groupby 2.0 version 이후
23년에 출시된 판다스 2.0 버전 이후부터는 groupby()를 실행할 때 mean(), sum() 과 같은 함수를 함께 사용하면 제약이 따른다. 어떠한 제약이냐면 윈도우 함수를 실행할 때 데이터 프레임에 문자열로 이루어진 컬럼이 섞여 있으면 오류를 반환한다. 그래서 판다스를 삭제 후 1.5.3 버전으로 재설치를 해주었다.pip3 uninstall pandas pip3 uninstall numpy # 판다스 설치 시 특정 버전 지정pip3 install pandas==1.3.5 넘파이도 세트로 설치된 것을 확인할 수 있다.
![[AWS] AWS s3 버킷에 원격으로 파일 업로드 후 읽기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqQvgn%2FbtsyaU0szfv%2FOTkCGaBtJlEh2YqfdzLxg0%2Fimg.jpg)
[AWS] AWS s3 버킷에 원격으로 파일 업로드 후 읽기
aws 콘솔을 사용하지 않고 s3에 파일을 원격으로 업로드 할 수 있습니다. 저는 vscode를 이용했습니다. import boto3 from botocore.exceptions import NoCredentialsError # AWS 자격 증명 및 리전 설정 aws_access_key = 'YOUR_LOCAL_FILE_PATH' aws_secret_key = 'YOUR_S3_BUCKET_NAME' region_name = 'YOUR_AWS_REGION' # S3 클라이언트 생성 s3_client = boto3.client('s3', aws_access_key_id=aws_access_key, aws_secret_access_key=aws_secret_key, region_name=region_name)..
![[프로그래머스] lv2 프로세스 / 파이썬, 고득점kit (다른 방법)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSODc4%2FbtsJTgrWt1y%2FhuVdVHkkEAYAcNrdAOcrUK%2Fimg.png)
[프로그래머스] lv2 프로세스 / 파이썬, 고득점kit (다른 방법)
프로세스 주의점!두 번째 예시에서 같은 숫자 1이 여러번 반복된다. 지정된 1을 기억하고 다른 1과 헷갈리지 않아야 한다해결방법0과 1로 이루어진 임시 리스트를 생성한다 def solution(priorities, location): answer, answer2 = [], [] tmp = [0] * len(priorities) tmp[location] = 1 while len(priorities) != 0: if max(priorities) != priorities[0]: priorities.append(priorities.pop(0)) tmp.append(tmp.pop(0)) elif max(priorities) ==..
[프로그래머스] lv2 기능개발 / 파이썬, 고득점kit
기능개발 "뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 같이 배포됩니다." 이 부분을 읽고 스택이 아닌 큐라고 생각했다. 그래서 deque()를 이용하는 문제인가 생각했지만 deque() 없이도 풀 수 있는 문제였다. 두 리스트를 합치는 zip함수를 사용하는 방법도 있지 않을까 생각했지만 그럴 필요 없이 풀 수 있는 문제였다. 주의점! 뒷 순서의 요소가 먼저 100 이상이 되어도 빠질 수 없다 해결방법 progresses와 speeds의 길이는 항상 같다. progresses의 길이만큼 반복해 주며 speeds를 각 요소에 맞게 추가한다 뒷 순서의 기능은 앞 순서의 기능이 100이상이 되면 출력될 수 없으므로 progresses[0]만 ..
[프로그래머스] lv2 올바른 괄호 / 파이썬, 고득점kit
올바른 괄호 주의점! '('와 ')'가 올바른 순서대로 들어오지 않는 경우가 있다. ')'가 먼저 들어올 수 있다 자료구조에서 스택의 개념을 이해하고 있어야 한다. 해결방법 stack의 역할을 해줄 리스트를 하나 생성한다 stack[-1]을 이용해 스택의 가장 상단의 요소를 파악한다 마지막 요소까지 다 받아준 후 stack리스트가 비어 있으면 True, 아니면 False를 출력한다 def solution(s): stack = [] for i in range(len(s)): if s[i] == '(': stack.append(s[i]) elif len(stack) != 0 and s[i] == ')' and stack[-1] == '(': stack.pop() elif len(stack) == 0 and ..
[프로그래머스] lv1 같은 숫자는 싫어 / 파이썬, 고득점kit
같은 숫자는 싫어 주의점! 입력된 arr에 맞는 순서대로 숫자를 리턴해야 한다 그래서 파이썬 set함수를 사용해서는 문제를 해결할 수 없다(set함수는 순서가 랜덤이니까) 해결방법 변수를 만들어 arr의 첫번째 원소 즉 arr[0]을 입력받는다 반복문을 돌리면서 다음 원소가 변수와 일치하지 않으면 answer에 추가, 변수 갱신 def solution(arr): answer = [] tmp = arr[0] answer.append(tmp) for i in range(1, len(arr)): if tmp != arr[i]: answer.append(arr[i]) tmp = arr[i] return answer