개발로 자기계발
728x90
SMALL
reduce와 lambda를 통한 데이터프레임 merge 함수

def merge_dataframes(df_list: list, merge_option: str, column: str): """ 여러 개의 DataFrame을 공통 column을 기준으로 병합하는 메소드. :param df_list: 병합할 DataFrame들의 리스트 :param merge_option: 병합 옵션 ('inner', 'outer', 'left', 'right' 중 하나) :param column: 병합 기준이 되는 공통 column의 이름 :return: 병합된 DataFrame """ merged_df = reduce(lambda x, y: pd.merge(x, y, how=merge_option, on=column), df_list) return merged_df 이 코드는 여러 ..

mysqlclient 설치 에러
버그처리 2023. 5. 1. 17:46

mysql 연동을 하는 도중에 mysqlclient 에러가 나왔다. Collecting mysqlclient Using cached mysqlclient-2.1.1.tar.gz (88 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [16 lines of output] /bin/sh: mysql_config: command not found /bin/sh: mariadb_config: command not found /bin/sh: mysql_config: command not fou..

superset db upgrade시 WARNING 문제(SECRET_KEY)
버그처리 2023. 5. 1. 16:40

-------------------------------------------------------------------------------- WARNING -------------------------------------------------------------------------------- A Default SECRET_KEY was detected, please use superset_config.py to override it. Use a strong complex alphanumeric string and use a tool to help you generate a sufficiently random sequence, ex: openssl rand -base64 42 ----------..

AttributeError: 'sqlparse'
버그처리 2023. 5. 1. 15:17

해결책 superset을 설치하고 pip install apache-superset 밑에와 같은 명령문을 실행했을 때 superset --help 이런 에러가 발생한다면 AttributeError: module 'sqlparse.keywords' has no attribute 'FLAGS' 에러문 처리하기 이걸 통해서 버전을 확인한다. pip show sqlparse 만약에 0.4.4 버전 이상이라면 다운그레이드가 필요하다. pip install sqlparse==0.4.3 개인적인 원인 추측 1) 호환성 문제: 프로젝트에서 사용하는 다른 라이브러리나 코드가 sqlparse 0.4.4와 완벽하게 호환되지 않을 수 있다. 이 경우, 이전 버전인 0.4.3으로 다운그레이드하면 호환성 문제가 해결되고 에러가 ..

RuntimeError: 'cryptography' 에러
버그처리 2023. 4. 30. 19:45

RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods 이 오류는 MySQL 연결을 설정할 때 sha256_password 또는 caching_sha2_password 인증 방법을 사용하려면 필요한 cryptography 패키지가 설치되지 않았음을 나타낸다. 이 패키지는 MySQL 8.0 이상에서 기본으로 사용되는 인증 플러그인인 caching_sha2_password를 지원하기 위해 필요하다. 이 문제를 해결하려면 cryptography 패키지를 설치 pip install cryptography

article thumbnail
OrderedDict 사용해보기
Develop/기초지식 2023. 4. 26. 08:20

collections 모듈에서 제공하는 OrderedDict는 키-값 쌍(key-value pairs)을 입력 순서를 유지하며 저장하는 딕셔너리이다.기본 파이썬 딕셔너리는 파이썬 3.7 이상부터 입력 순서를 보장하게 되었기 때문에, 현재 파이썬 버전에서는 일반 딕셔너리를 사용해도 입력 순서가 유지된다.그러나 이전 버전의 파이썬이나 명시적으로 순서가 보장되는 딕셔너리를 사용하고 싶을 때 OrderedDict를 사용할 수 있다.https://docs.python.org/ko/3.7/whatsnew/3.7.html# 파이썬 3.7의 새로운 기능 — Python 3.7.16 문서PEP 563 : 어노테이션의 지연된 평가 파이썬에서 형 힌트의 출현은 PEP 3107에서 추가되고 PEP 526에서 더욱 다듬어진 어..

article thumbnail
PyTorch - GPU 설정 (7)
인공지능/PyTorch 2023. 4. 24. 00:04

Google Colab은 기본적으로 무료로 GPU를 쓸 수 있게 해 준다. 물론 Pro급은 훨씬 좋다. GPU을 사용해서 연산을 시도해볼 생각이다. GPU 설정 방법: 런타임 -> 런타임 유형 변경 -> GPU 1) Nvidia 그래픽 카드가 설치된 환경에서 그래픽 카드의 상태를 확인하는 명령어 !nvidia-smi 기본은 Tesal T4이다. 2) Pytorch가 GPU Access 하는지 확인 import torch torch.cuda.is_available() True가 나오면 굿! 3) 현재 GPU의 장치 수를 확인해 보자 torch.cuda.device_count() 실습해 보기 1) device 확인 device = "cuda" if torch.cuda.is_available() else "c..

article thumbnail
PyTorch - 파이토치 기초 (6)
인공지능/PyTorch 2023. 4. 23. 22:30

Indexing 1) 인덱스 접근 import torch a = torch.tensor([[1, 2, 3], [4, 5, 6]]) print('a:', a) # 첫 번째 행, 두 번째 열의 원소에 접근 print('a[0][1]:', a[0][1]) print('a[0, 1]:', a[0, 1]) 결과값 a: tensor([[1, 2, 3], [4, 5, 6]]) a[0][1]: tensor(2) a[0, 1]: tensor(2) 2) 슬라이스 import torch a = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) print('a:', a) # 첫 번째 차원이 0인 슬라이스에 접근 print('a[0, :, :]:', a[0, :, :]) # 마지막 차원..

article thumbnail
PyTorch - 파이토치 기초 (5)
인공지능/PyTorch 2023. 4. 23. 19:09

형태 변환 1) Reshape 원하는 형상의 새로운 텐서를 얻을 수 있다. reshape 함수는 원본 텐서의 데이터를 보존하면서 새로운 형상의 텐서를 생성한다. 원본 텐서와 새로운 형상의 텐서는 동일한 메모리를 공유하므로, 하나를 변경하면 다른 하나도 변경된다. 원본 데이터 import torch x = torch.arange(1., 10.) x, x.shape 형태 변환(2차원의 텐서) x_reshaped = x.reshape(1,9) x_reshaped, x_reshaped.shape * 대신 형태를 변환할 때 기존 원본 데이터의 범위 안에서만 가능하다. 형태 변환(3차원의 텐서) x_reshaped = x.reshape(1,1,9) x_reshaped, x_reshaped.shape 동일한 메모리 ..

article thumbnail
PyTorch - 파이토치 기초 (4)
인공지능/PyTorch 2023. 4. 23. 19:07

합, 뺄셈, 곱 tensor = torch.tensor([1,2,3]) # 합 tensor + 10 torch.add(tensor, 10) # 곱 tensor * 10 torch.mul(tensor, 10) # 뺄셈 tensor - 10 torch.sub(tensor, 10) 행렬곱 tensor * tensor 곱해서 tensor([1, 4, 9]) 행렬로 돌려준다. 두 개의 1차원 텐서를 원소별로 곱한 결과를 반환 torch.matmul(tensor, tensor) tensor @ tensor 곱해서 tensor(14) 전체를 더한 값으로 돌려준다. 두 개의 1차원 텐서를 벡터로 간주하여 내적(dot product)을 계산한 결과를 반환 다만 현재 1차원의 텐서이기에 더한 값을 돌려준 것. ※ matm..

728x90
SMALL