일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 경력기술서 첨삭
- 데이터사이언스
- 하이퍼 파라미터
- 파이썬
- 이력서 첨삭
- 데이터사이언스학과
- 코딩테스트
- 주식데이터
- 사이킷런
- 커리어전환
- 데이터 사이언스
- 주요 파라미터
- 랜덤포레스트
- 머신러닝
- AutoML
- 하이퍼 파라미터 튜닝
- pandas
- 주가데이터
- 데이터사이언티스트
- 퀀트
- 파라미터 튜닝
- 데이터분석
- 대학원
- 데이터 사이언티스트
- 경력 기술서
- sklearn
- 자기소개서
- 퀀트 투자 책
- 판다스
- 베이지안 최적화
- Today
- Total
목록파이썬 (19)
GIL's LAB
이번 포스팅에서는 문자열을 분리하는 방법에 대해 알아보겠습니다. split 메서드 split 메서드는 입력받은 구분자를 바탕으로 문자열을 리스트로 나눕니다. 예시 코드는 다음과 같습니다. a = 'line1/line2/line3' print(a.split('/')) [실행 결과] ['line1', 'line2', 'line3'] 위 예제는 a라는 문자열을 슬래시(/)를 기준으로 나눈 것을 보여줍니다. re.split 함수 re.split 함수는 문자열을 특정한 패턴을 바탕으로 분리해주는 함수입니다. 이 함수의 입력은 순서대로 패턴과 문자열입니다. 예를 들어, 공백과 줄바꿈 기호를 바탕으로 문자열을 나누는 상황을 생각해보겠습니다. import re a = 'line1 line2 line3\nline4' p..
NotFittedError는 사이킷런의 모델 인스턴스를 학습하지 않고 활용할 때 발생하는 에러입니다. 간단한 예시를 살펴보겠습니다. 먼저 임의로 데이터를 만들고 LinearRegression 클래스를 이용해서 선형 회귀 모델을 만들겠습니다. import numpy as np from sklearn.linear_model import LinearRegression X = np.random.random((100, 3)) y = np.random.random(100) model = LinearRegression() 다음으로 이렇게 만들어진 model을 사용해서 X의 라벨을 예측해보겠습니다. model.predict(X) [실행 결과] ------------------------------------------..
문제 상황 ValueError: too many values to unpack는 저장할 값의 개수가 변수 개수보다 많은 경우 발생하는 에러입니다. 간단한 예제를 살펴보겠습니다. x, y, z = 1, 2, 3, 4 [실행 결과] ValueError: too many values to unpack (expected 3) 위 코드에서 변수는 x, y, z로 세 개인데, 여기에 입력되는 값이 1, 2, 3, 4라서 오류가 발생했습니다. 반대로 ValueError: not enough values to unpack는 저장할 값의 개수가 변수 개수보다 적은 경우 발생하는 에러입니다. 역시 간단한 예제를 살펴보겠습니다. x, y, z = 1, 2 [실행 결과] ValueError: not enough values ..
본 포스팅에서는 문자열로 구성된 시리즈에 특정 단어 혹은 패턴이 포함되었는지를 확인하는 str.findall 메서드에 대해 알아보겠습니다. 이 메서드에 대한 상세 설명은 아래에서 볼 수 있습니다. https://pandas.pydata.org/docs/reference/api/pandas.Series.str.findall.html pandas.Series.str.findall — pandas 1.5.2 documentation next pandas.Series.str.fullmatch pandas.pydata.org 예시 데이터 다음과 같은 간단한 시리즈를 만들어주겠습니다. import pandas as pd S = pd.Series(["abc", "abcd", "accb", "bc", "d"]) 한 단..
본 포스팅에서는 파이썬의 list comprehension이 얼마나 효율적인지를 간단한 실험을 통해 알아보겠습니다. 실험은 Jupyter notebook의 %%timeit 매직키워드를 사용하여 실행 시간을 측정해서 비교하는 방식으로 수행하겠습니다. 1. 조건과 함수를 사용하지 않았을 때의 비교 리스트에 속한 모든 요소를 그대로 가져오는 케이스에 대해 실험을 해보겠습니다. 먼저 실험에 사용할 리스트를 다음과 같이 정의해줍니다. L = list(range(100)) 이제 세 가지의 방법으로 L의 요소를 갖는 리스트 L1, L2, L3를 만들어보겠습니다. 방법 1. Append를 사용하는 경우 %%timeit L1 = [] for v in L: L1.append(v) [실행 결과] 9.9 µs ± 678 ns..
이번 시간에는 tweepy라는 트위터 API에 접근할 수 있는 파이썬 패키지를 이용해서 트위터 데이터를 수집하는 방법에 대해 알아보겠습니다. 구체적으로 수집하고자 하는 데이터는 다음과 같습니다. 유저의 팔로워 목록 유저의 트윗 목록 유저의 팔로워 수 등 tweepy 공식 문서는 아래에서 확인할 수 있습니다. https://docs.tweepy.org/en/stable/ Tweepy Documentation — tweepy 4.10.1 documentation © Copyright 2009-2022, Joshua Roesslein. Revision ad5e31be. docs.tweepy.org 사실 많은 블로그에서 tweepy를 사용해서 트윗 데이터를 수집하는 방법을 소개했지만, 옛날 글이 많아 최신 버전..
이번 포스팅에서는 판다스의 스트링 접근자에 대해 알아보겠습니다. 개요 스트링 접근자 .str은 판다스 시리즈의 속성으로 문자열을 처리하는데 사용할 수 있습니다. 이 접근자를 사용하면 문자열 처리를 하는데 필요한 내장 함수를 활용할 수 있습니다. 공식 문서에서 가져온 메서드 목록은 아래와 같습니다. 개인적으로는 아래 메서드 가운데 contains, count, endswith, replace, zfill을 많이 사용합니다. pandas.Series.str.capitalize pandas.Series.str.casefold pandas.Series.str.cat pandas.Series.str.center pandas.Series.str.contains pandas.Series.str.count pandas..
이번 포스팅에서는 파이썬에서 임의의 배열이 주어졌을 때 이 배열에서 값이 큰 k개의 값을 찾는 방법과 배열을 구성하는 값의 순위를 계산하는 방법을 알아보겠습니다. 여기서 고려하는 문제를 도식화하면 아래와 같습니다. 각 문제에 대한 설명은 다음과 같으며, 각 문제를 푸는데 둘 이상의 문법을 활용할 수도 있습니다. (1) 값이 작은 순위 계산: 배열에서 값이 작을수록 1에 가까운 순위를 갖도록 하는 것으로 위 예제에서는 값이 가장 작은 1이 1위, 2가 2위 3이 3위, 5가 4위, 8이 5위가 됩니다. (2) 값이 큰 순위 계산: 배열에서 값이 클수록 1에 가까운 순위를 갖도록 하는 것으로 위 예제에서는 값이 가장 큰 8이 1위, 5가 2위, 3이 3위, 2가 4위, 1이 5위가 됩니다. (3) 값이 큰 ..
파이썬 인스턴스 크기는 sys.getsizeof를 이용하여 측정할 수 있습니다. 크기가 100과 1000000인 난수 배열의 크기를 측정해보겠습니다. 먼저 난수 배열을 다음과 같이 생성합니다. import numpy as np small_arr = np.random.random(100) large_arr = np.random.random(1000000) 다음으로 크기를 측정합니다. print(sys.getsizeof(small_arr)) print(sys.getsizeof(large_arr)) [실행 결과] 896 8000096 크기가 잘 측정되는 것으로 보입니다. 그럼 머신러닝 모델의 인스턴스도 잘 측정되는지 보겠습니다. 먼저 5개의 트리로 구성된 작은 랜덤포레스트 모델과 100개 트리로 구성된 큰 랜..
문제 A사는 연봉 협상을 구두로 진행한 뒤 연봉 계약서에 서명을 받는 방식으로 연봉 계약을 진행합니다. 2022년 올해도 직원들과 연봉 계약을 구두로 진행했으며, 연봉을 다음과 같이 엑셀 파일(직원연봉.xlsx)에 저장했습니다. 이제 직원연봉.xlsx에 있는 데이터를 docx 확장자인 연봉계약서 양식에 옮겨 연봉 계약서를 작성하려 합니다. 그 양식은 아래와 같으며, 옮겨야 하는 부분은 노란색으로 표시했습니다. 현재까지는 네 명의 직원과만 연봉 협상이 이뤄져서 직접 옮겨도 크게 부담이 없지만, 추후 연봉 협상이 완전히 마무리되면 수천명의 데이터를 옮겨야 합니다. 그래서 파이썬을 이용하여 자동으로 데이터를 옮기고자 합니다. 환경 세팅: python-docx 워드 파일을 생성하거나 수정하려면 python-do..