본문 바로가기

Python12

맥(mac)에서 airflow 설치하기 에어플로우(Airflow)를 간단히 설명하자면, 어떤 반복적인 작업(task)들을 실행해주는 scheduler 이다. 여기에서는 anaconda가 설치되어있는 mac환경에서 airflow를 설치하는 내용을 적어보려한다. 1. airflow를 위한 python 가상환경 만들기conda create --name airflow_env python=3.9 -y 2. 가상환경 확인 및 만들어진 가상환경으로 전환 3. airflow 설치// airflow 설치conda install apache-airflow 4. airflow가 설치airflow가 설치되었다면, 터미널에서 다음 명령어로 db를 초기화해준다.// DB 초기화airflow db init DB가 초기화되면 사용자 계정의 폴더에 airflow 라는 폴더.. 2024. 7. 14.
Python : 기간의 시작, 끝 날짜 구하기 오늘 날짜 또는 특정 날짜를 기준을 "전 주" 또는 "전 달"의 시작, 끝 날짜를 구해야하는 경우가 있습니다.예를 들면 매주 월요일에 전 주의 데이터를 가져와서 계산을 한다거나 등의 경우에 말이죠. 이 때 사용할 수 있는 몇 가지 경우의 코드를 작성해보았습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546import datetimefrom dateutil.relativedelta import relativedelta the_date = datetime.date.today()# the_date = datetime... 2024. 7. 13.
머신러닝에서 인코딩 방법 머신러닝 모델은 문자 데이터를 인식하지 못합니다.그렇기 때문에 문자로 구성된 데이터를 숫자형태로 바꿔줘야하는데 이를 인코딩이라고 합니다. 인코딩은 아래와 같이 두 종류가 있습니다.1. Label Encoding (레이블 인코딩) : 원본 데이터의 값에 사전순으로 번호를 매깁니다.2. One-Hot Encoding (원-핫 인코딩) : 여러 값 중에 하나(one)만 활성화(hot)하는 방법입니다. 위 두 방식을 python 코드로 구현해보겠습니다. 1. Label Encoding from sklearn.preprocessing import LabelEncoderfruits = ['apple', 'orange', 'banana', 'pear', 'apple', 'banana', 'orange', 'apple.. 2024. 5. 22.
회귀모델의 성과 측정 지난 번에 "분류모델의 성과 측정"에 대해서 적은 바 있다.https://walkingfox.tistory.com/220 분류모델의 성과 측정큰 구분에서 모델을 두 부류로 나누자면 아래와 같이 볼 수 있다. 회귀 모델 분류 모델 회귀모델의 경우 평균제곱근 오차(RMSE) 를 사용하지만, 분류모델의 경우는 confusion_matrix 를 이용하여 정확walkingfox.tistory.com 이번에는 "회귀모델의 성과 측정"에 대해서 적어보고자 한다.아래의 지표들은 회귀모델을 통하여 얻은 예측치가 실제 값과 얼마나 차이가 있는지? 즉 얼마나 잘 예측했는지를 나타내는 지표들이다.  이를 구하는 방법을 python 샘플 코드를 참조하세요.import numpy as npfrom sklearn.metrics i.. 2024. 5. 22.
Python : 문자열안의 특정 부분을 변수치환 python 에서 문자열의 특정 부분을 치환하는 몇 가지 방법을 적어려고 한다. 1. 변수 포맷을 이용하는 방법 변수포맷은 아래와 같다 %s : 문자열 %c : 문자 %d : 정수 %f : 실수 아래와 같은 방법으로 string 안에 %s 라는 부분을 특정 변수로 치환할 수 있다. 2. format 함수 사용 이 경우, 변수의 타입을 명시하지 않아도 된다. 아래와 같이 사용할 수 있으며, {0}, {1} 과 같은 부분이 format 안의 인자와 차례로 매칭 치환된다. 3. f문자열 포맷 사용 문자열 앞에 f 를 붙이면 중괄호와 변수이름으로 치환을 할 수 있다. 아래의 예를 참고하자. 2024. 4. 18.
Python : 순열검정 (비모수) 두 집단의 평균을 비교하는 방법에는 크게는 모수적 방법과 비모수적 방법이 있다.여기서 모수적 방법이란 모집단이 정규분포를 한다는 가정하에, 평균과 분산같은 통계량을 이용하여 계산되는 방식이며비모수적 방법이란 모집단의 분포와 관계없이 계산하는 방식을 말한다. 아래에 python sample code 를 소개하고자 한다. Colab에서 실행된 결과는 아래의 링크에서도 확인할 수 있다.https://colab.research.google.com/drive/1GOBBNP13if2PotGpUXgwiqcVQR8JjbmZ#scrollTo=uhPCOt8ii7YJ# -*- coding: utf-8 -*-"""Permutation Test.ipynbAutomatically generated by Colaboratory.O.. 2024. 1. 27.
Apple Silicon (M1, M2, M3) 맥에 python 3.7 설치하기 Python 을 사용하다보면, 다양한 이유로 특정 버전대의 Python 을 사용해야만 하는 경우가 있다. 나의 경우는 M2 맥북 air 에서 anaconda 를 사용하는데, Python 3.7 버젼을 설치하려고 하면, 아래와 같은 에러가 뜨면서 가상 환경을 설치할 수 없다고 나온다. 이유는 Apple Silicon에서는 3.7 이하의 Python 버젼을 지원하지 않기 때문이라고 한다. 하지만 다음과 같은 순서로 OS모드를 변경하여 설치할 수가 있다. #create empty environment conda create -n py37 #activate conda activate py37 #use x86_64 architecture channel(s) conda config --env --set subdi.. 2023. 11. 15.
Python : 위도.경도로 TimeZone 구하기 Python에서 위도와 경도 값으로 TimeZone 구하기 먼저 'timezonefinder' 라는 패키지를 설치하여야 한다. pip install timezonefinder 사용법은 아래와 같이 간단하다. from timezonefinder import TimezoneFinder tf = TimezoneFinder() latitude, longitude = 52.5061, 13.358 tf.timezone_at(lng=longitude, lat=latitude) # returns 'Europe/Berlin' * 만일 아래와 같이 DataFrame에 위.경도의 값이 있다고 하면 from timezonefinder import TimezoneFinder my_func = TimezoneFinder().ti.. 2020. 3. 10.
python : pd.to_numeric() VS astype(np.float64) import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint(10**5, 10**7, (5,3)), columns=list('abc'), dtype=np.int64) df a b c 0 2368596 282593 7649457 1 6486779 5348256 790672 2 8468404 4682970 2904873 3 2271514 2908642 9272301 4 7811256 3652968 6715015 df.dtypes a int64 b int64 c int64 dtype: object df['a'] = df['a'].astype(float) df.dtypes a float64 b int64 c int64 dtype: obje.. 2019. 11. 27.
Python : Seaborn Visualization import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # 데이터셋 iris = sns.load_dataset('iris') titanic = sns.load_dataset('titanic') tips = sns.load_dataset('tips') flights = sns.load_dataset('flights') x = iris.petal_length.values sns.rugplot(x) sns.kdeplot(x) sns.distplot(x, rug=True, kde=True, bins=50) plt.hist(x, bins=50) (array([ 2., 2., 7., 13., 13., 11.. 2019. 11. 25.