728x90

파이썬 20

[Python] for문을 활용해서 list, dictionary를 만들 때, 사소한 꿀팁

python입문을 하고 list를 배우고 dictionary를 배우고 반복문을 배우면 반복문을 통해 데이터를 처리할 때가 많습니다. 그 중에선 반복문을 활용해서 list와 같은 데이터를 만들게 되죠 쉽게 생각하면 다음과 같이 만듭니다. %%time c = [] for i in range(10_000_000): c.append(i) %%time은 로직 수행시간을 측정하고자 입력한 값입니다. 꽤 빠르지만 수치가 높죠? 하나하나 append하면 오래걸린답니다. 이럴 때는 for문을 한줄로 쓰고 한번에 리스트로 넣어버리세요 %%time a = [ i for i in range(10_000_000)] 속도차이가 상당히 많이 난다. 반복문을 [ ] 로 묶으면 결과물이 리스트로 묶이고 { }로 묶으면 딕셔너리로 묶인..

Study/Python 2023.02.13

[Python] DataFrame에서 null이 들어있는 행만 보고 삭제하기

데이터를 다루다보면 null값이 들어있는 데이터가 상당히 많습니다. 이 값들을 어떻게 처리할 지에 대해서 항상 고민이 되는데요 이 포스팅에선 Row에 들어있는 null값들만 확인하고 그 행들만 삭제하는 방법을 알아보겠습니다. import pandas as pd import numpy as np dogs = np.random.choice(['labradoodle','beagle','mutt','Golden Retrievers', 'Greyhound','French Bulldog','Shih Tzu',None], size=50_000) smell = np.random.randint(0, 100, size = 50_000) location = np.random.choice(['Korea','China','Un..

Study/Python 2023.02.07

KoBERT를 이용한 한국어 7가지 감성 분석

작년에 이 분야를 배우기 시작하면서 진행했던 감성 분석은 기본 중의 기본 같은 느낌이었다. 당시에는 뭘 어떻게 해야하는 지? 데이터는 어떻게 다뤄야하는 지? 뭐가 어떻게 돌아가는 건지? 등등 개념이 제대로 잡히지 않은 상태에서 진행했던 프로젝트였다. (물론 지금도 제대로 잡혔다는 건 아니지만...적어도 1년동안 발전했으니까) 나는 당시 프로젝트를 되게 자랑스럽게 생각했지만 부족한 부분이 많았다. 이후로 더 공부하다보니 요즘 자연어처리는 Transformer계열이 대세라고 했다. 사실 대세가 된 지 좀 시간이 흘렀다. 어찌되었든 대학원에서도 자연어처리 수업을 들으며 그리고 개인적으로 공부하고 논문을 읽어보며 100% 이해는 못했지만 어느정도 이해는 했고 직접 써봐야겠다는 생각이 들었다. 그렇게 작년에 하지..

[프로그래머스] 신고 결과 받기

https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 더보기 문제 설명 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니..

코딩테스트 2022.07.11

[백준] 나무 조각

https://www.acmicpc.net/problem/2947 2947번: 나무 조각 첫째 줄에 조각에 쓰여 있는 수가 순서대로 주어진다. 숫자는 1보다 크거나 같고, 5보다 작거나 같으며, 중복되지 않는다. 처음 순서는 1, 2, 3, 4, 5가 아니다. www.acmicpc.net 더보기 브론즈 1단계인가 되는 문제다. 문제 동혁이는 나무 조각을 5개 가지고 있다. 나무 조각에는 1부터 5까지 숫자 중 하나가 쓰여져 있다. 또, 모든 숫자는 다섯 조각 중 하나에만 쓰여 있다. 동혁이는 나무 조각을 다음과 같은 과정을 거쳐서 1, 2, 3, 4, 5 순서로 만들려고 한다. 첫 번째 조각의 수가 두 번째 수보다 크다면, 둘의 위치를 서로 바꾼다. 두 번째 조각의 수가 세 번째 수보다 크다면, 둘의 위..

코딩테스트 2022.06.24

[Python]Sckit-Learn에 있는 데이터를 csv로 만들기

머신러닝 오픈소스 중 하나인 사이킷런에서는 여러가지 머신러닝용 데이터를 제공한다. 그런데 이런 데이터들을 하나의 csv파일로 정리해서 출력할 수는 없을까? 아주 간단한 방법으로 해당 작업을 진행하였다. pandas의 데이터처리 방법도 포함이 되어있기 때문에 일부분 필요한 것만 골라서 사용할 때도 유용할테니 참고 바랍니다. 우선, 이 작업에서 사용할 모듈들입니다. import pandas as pd from sklearn.datasets import load_iris # iris data불러오기 import numpy as np csv로 변환하고 데이터프레임으로 만들어줄 pandas, 사이킷런에서 제공하는 데이터를 받아올 load_iris, array형식으로 되어있는 데이터를 처리해줄 numpy 우선 ir..

Study/Python 2022.03.17

[Python]Pycaret을 이용해서 타이타닉 머신러닝하기

인터넷을 휘적거리다가 우연히 pycaret이라는 모듈을 발견했다. 아주 쉽고 간편하게 머신러닝을 돌릴 수 있도록 해준다. 소개란에도 뭐 대중화를 위해 만들었다고 한다~ https://pycaret.gitbook.io/docs/get-started/installation Installation - PyCaret Official With PyCaret, you can train models on GPU and speed up your workflow by 10x. To train models on GPU simply pass use_gpu = True in the setup function. There is no change in the use of the API, however, in some cases,..

Study/Python 2022.02.28

[프로그래머스] 자릿수 더하기, 정수 내림차순으로 배치하기

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 넘 쉬웠다. def solution(n): answer = 0 n = str(n) for i in n: answer += int(i) return answer 꼼수긴 한데 문자열로 바꿔주고 각 글자 하나씩 들여와서 int로 바꿔주고 더해준다. Simple 다른 사람들도 보니까..

코딩테스트 2021.12.07

[프로그래머스]이상한 문자 만들기

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 단어당 홀수 짝수를 구분해야하는데 전체 문장에서 홀수짝수인 줄알고 한참 뻘짓했다. def solution(s): answer = '' spl = s.split(" ") for k in spl: i=0 for j in k: if i % 2 == 0: answer += j.upper() elif i % 2 == 1: answer += j.l..

코딩테스트 2021.12.07

[프로그래머스]x만큼 간격이 있는 n개의 숫자

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr 쉬운 문제 걍 길이가 n def solution(x, n): a = x answer = [] answer.append(x) while(len(answer) != n): a += x answer.append(a) return answer 될때까지 x계속 더해서 리스트에 append하면 됨

코딩테스트 2021.12.05
728x90