분류 전체보기(833)
-
Python) SQLite 는 여러 명의 사용자가 사용할 수 있는 지?
중간에 lock 이 걸리는 경우가 발생하여 찾아보니 다음과 같음. 여려명의 사용자가 한번에 사용하는 것은 지원함.(select 권한 다중 사용 가능) 하지만 데이터 베이스를 수정하는 것은 한명만 지원하고 그때 lock이 걸림(write 권한 한명만 작업 동시에 읽는 것은 안되는 것 같음) Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however. https://stackover..
2022.11.06 -
엑셀) 여러 셀들의 텍스트를 쉽게 하나로 합치기
엑셀에서 여러 셀들을 하나의 셀로 만들고 싶을 때가 있다. 보통 이럴 때 CONCATENATE 함수를 사용해서 붙있다. 이런 식으로 사용해야 한다. A B C D 1 나는 밥을 먹었다 =CONCATENATE(A1,B1,C1) 2 너는 밥을 먹었니? =CONCATENATE(A1,B1,C1) 조금 더 쉽게 하는 법에 대해서 공유한다 바로 &를 사용하면 된다. A B C D 1 나는 밥을 먹었다 =A1&B1&C1 2 너는 밥을 먹었니? =A2&B2&C2 쌍따옴표를 쓰고 싶다면 CHAR(34)를 사용하면 된다. A B C D 1 나는 밥을 먹었다 =CHAR(34)&A1&B1&C1&CHAR(34) 2 너는 밥을 먹었니? =CHAR(34)&A2&B2&C2&CHAR(34) 쌍따옴표를 쓰고 싶다면 CHAR(34)를 사..
2022.11.05 -
엑셀) SUBTOTAL - 필터 상태에서 바로 그룹별 합계, 평균, 개수 구하기
필터를 건 상태에서도 합계가 자동으로 바뀌는 함수를 알게되어 공유합니다. 전체중에 일부의 값만 볼 때 유용합니다 Function_num (숨겨진 행 포함)Function_num (숨겨진 행을 무시)함수 1 101 AVERAGE 2 102 COUNT 3 103 COUNTA 4 104 MAX 5 105 MIN 6 106 PRODUCT 7 107 STDEV 8 108 STDEVP 9 109 SUM 10 110 VAR 11 111 VARP SUBTOTAL(function name, 범위) 필터를 고려한 합(9)를 함수로 사용하고 범위는 A2:A5까지 로 하라는 뜻입니다. =SUBTOTAL(9,A2:A5) https://www.youtube.com/watch?v=eVtxJkRKmAs
2022.11.03 -
feast) FileSource 사용 방법(여러개 파일)
FileSource를 하기 위해서는 timestamp_field를 설정해야 함 다중 파일들을 커버하기 위해서는 *.parquet 으로 해야함. 0.26 버전임 class FileSource(DataSource): def __init__( self, *, path: str, name: Optional[str] = "", event_timestamp_column: Optional[str] = "", file_format: Optional[FileFormat] = None, created_timestamp_column: Optional[str] = "", field_mapping: Optional[Dict[str, str]] = None, s3_endpoint_override: Optional[str] = N..
2022.10.18 -
Python) datetime64[ns]로 변환하는 방법
df['timestamp'] = pd.to_datetime(df.timestamp).dt.tz_localize(None) https://stackoverflow.com/questions/62917882/convert-datetime64ns-utc-pandas-column-to-datetime convert datetime64[ns, UTC] pandas column to datetime I have a dataframe which has timestamp and its datatype is object. 0 2020-07-09T04:23:50.267Z 1 2020-07-09T11:21:55.536Z 2 2020-07-09T11:23:18.015Z 3 2020-07-09T04:03:28.581Z 4 202..
2022.10.10 -
[VSCode] Python Interactive window 사용하여 코딩하기
가끔 jupyter를 사용하다 보면 버벅거릴 떄가 있고, 메모리를 많이 차지하는 경우가 있습니다. 이게 실제로 효율적인지는 모르겠지만, 우연히 발견하게 된 interactive view가 도움이 될 수도 있을 것 같아 공유드립니다. 물론 vscode 주피터에서 작업을 하게 되면, 기존에 관습대로 할 수 있어서 좋지만, 실제 학습 코드 개발이나 테스트하는 입장에서는 py에서 작업을 하는 것이 더 좋을 것 같다고 생각이 듭니다. 일단 아마도 jupyter extension이 설치가 되어야 이러한 작업이 가능한 것 같습니다. 설치가 안된 상태에서는 작동하지 않았습니다. 인텔리센스 Python Interactive 창에는 코드 완성, 멤버 목록, 메서드에 대한 빠른 정보 및 매개 변수 힌트와 같은 전체 Inte..
2022.10.06 -
[Pandas][꿀팁] string 데이터를 pandas data frame으로 바꾸기
매번 csv나 특정 파일로 떨꾸는 것이 귀찮을 때 사용할 수 있는 방법 공유합니다. :) 매번 read csv하려고 파일 옮겨서 하기 귀찮을 때 메모장에 있는 텍스트를 가져오거나, 엑셀에 있는 것을 복사에서 붙여 넣어서 사용할 수 있어서, 빠르게 검증하고자 할 때 유용합니다. :) 구현 아래처럼 특정 패턴으로 되어 있는 파일을 복사해서 붙여 놓고, 아래 명령어를 실행하면 됩니다. []에 있는 부분을 object 패턴에 맞게 변경해주면 됩니다. from io import StringIO import pandas as pd pd.read_csv(StringIO( [object] ),sep= [sep] ) 예시 from io import StringIO t = """ COLACOLBCOLCCOLD 1234 5..
2022.09.09 -
Python) Data Drift 탐지 KS로 구현해보기
다른 참고자료들을 보면서 이런 식으로 구현해볼 수 있지 않을까 해서 구현해봅니다. 한 가지 남은 이슈로는 이 코드 구현에서는 데이터의 히스토그램 정보를 저장하다 보니, 누적해서 계속 비교하는 것은 어떻게 해야 할지가 고민입니다. 이 부분 혹시 아이디어나 의견 있으면 댓글 부탁드려요! DATA DRIFT란? 다양한 Drift 문제가 있는데 여기서는 Data Drift를 다루려고 합니다. Data Drift란 간단히 말해서 시간이 변하면서, 데이터의 분포가 변하는 것을 의미합니다. 그래서 모델을 훈련하는 데 사용되는 데이터 세트와 실제 운영에서 받는 데이터를 모방하지 않을 때 발생합니다. 이것은 모델이 이상하게 작동하고 성능이 저하되기 시작하는 때입니다. 그래서 이러한 문제를 성능과 직결되는 문제를 가지고 ..
2022.09.03 -
Python) csv 파일을 parquet 파일로 만드는 방법
특정 파일을 paruqet으로 만드는 방법에 대해서 알아야 해서 정리해봅니다. Library Load import pandas as pd import pyarrow as pa import pyarrow.parquet as pq TXT (CSV) FILE TO Parquet file 변환 csv_file = "./ml-25m/movies.csv" parquet_file = "./my.parquet" chunksize = 500 csv_stream = pd.read_csv(csv_file, sep=',', chunksize=chunksize, low_memory=False) chunk =next(iter(csv_stream)) chunk로 schema를 추정할 수 있지만, 미리 정해져 있다면, 그 형식에 맞..
2022.09.03 -
Python) Pandas read_csv 인코딩 확인하는 방법 소개
파이썬에서 csv를 읽을 때 가장 큰 이슈 중에 하나는 가끔 인코딩이 안 맞아서 헤매는 경우가 많다. 이 경우 일반적으로 윈도우면 cp949 리눅스면 utf-8 대충 아는 식으로 하게 되면 대부분은 맞지만 특이한 것들이 나오는 경우가 있다. 이 방법은 리눅스에서만 가능할 것 같지만 소개한다. 리눅스 바로 다음 명령어를 사용하면 된다. (u.item이라는 파일이 있다고 가정) file -i u.item u.item: text/plain; charset=iso-8859-1 그럼 아래처럼 charset이 나오게 된다. 이걸 사용해서 읽을 때 인코딩으로 정해주면 된다. import pandas as pd df = pd.read_csv("u.item", sep="|", encoding="iso-8859-1") ..
2022.08.30 -
[Pyro] Application - 5. GP Bayesian Optimization
베이지안 최적화는 평가 비용이 많이 드는 objective function를 최소화(또는 최대화) 하기 위한 강력한 전략입니다. 이것은 auto-sklearn,auto-weka 및 scikit-optimize와 같은 자동화된 기계 학습 도구 상자의 중요한 구성 요소이며, 여기서 베이지안 최적화는 모델 하이퍼 매개 변수를 선택하는 데 사용됩니다. 베이지안 최적화는 광범위한 다른 응용 프로그램에도 사용됩니다. 대화형 사용자 인터페이스, 로봇 공학, 환경 모니터링, 정보 추출, 조합 최적화, 센서 네트워크, 적응형 몬테카를로, 실험 설계 및 강화 학습이 포함됩니다. 베이지안 최적화는 특히 파라미터 튜닝할 때 많이 들어보는 내용이고, 목적 함수를 위해서 더 좋은 선택을 할 수 있게 도와주는 알고리즘입니다. 참고..
2022.08.29 -
[Pyro] Application - 4. Gaussian Process Latent Variable Model(GPLVM)
가우스 프로세스 잠재 변수 모델(GPLVM)은 (잠재적으로) 고차원 데이터의 저차원 표현을 학습하기 위해 가우스 프로세스를 사용하는 차원 감소 방법입니다. 입력과 출력이 제공되는 가우스 프로세스 회귀의 일반적인 설정에서 커널을 선택하고 에서 저차원 매핑을 가장 잘 설명하는 하이퍼 매개 변수를 학습합니다. GPLVM에서 X는 주어지지 않고 y만 주어집니다. 그래서 우리는 커널 하이퍼 파라미터와 함께 배워야 합니다. X에 대해서 최대 가능성 추론을 하지 않습니다. 대신, Pyro는 가우시안 사전 분포를 설정을 하고 대략적인 (가우스) 사후 평균(q(X|y)과 분산을 학습합니다. 이 글에서는 pyro.contrib.gp 모듈을 사용하여 이 작업을 수행하는 방법을 보여 줍니다. 참고 자료 2022.08.21 -..
2022.08.29