from datetime import datetime, timedelta, date

from dateutil.relativedelta import relativedelta

import time

 

## Impala table을 이용해서 Python data frame에 각종 날짜 정보를 저장한다.

## 저장된 DataFrame 이름은 cald

 

date_param={} ## date parameter dictionary

 

def asgn():

    for col in cald.columns:

        for in in range(0, len(cald)):

            a=col+ str(i) ## 컬럼명 + 일련번호

            if cald.loc[i, col] != '' ## NaN, Null인 경우 Dictionary에 값을 저장하지 않는다.

                date_param[a]=cald.loc[i, col]

asgn()

 

date_param['yyyymm0']

'202104'

 

## Python에서 수기로 계산하는 값들은 바로 Dictionary에 저장한다.

date_param['curr']=cald.loc[0, 'curr']

date_param['d30']=(pd.to_datetime(cald.loc[0, 'curr'], format='%Y%m%d') + relativedelta(days=-30)).strftime('%Y%m%d')

date_param['d60']=(pd.to_datetime(cald.loc[0, 'curr'], format='%Y%m%d') + relativedelta(days=-60)).strftime('%Y%m%d')

date_param['d90']=(pd.to_datetime(cald.loc[0, 'curr'], format='%Y%m%d') + relativedelta(days=-00)).strftime('%Y%m%d')

date_param['d180']=(pd.to_datetime(cald.loc[0, 'curr'], format='%Y%m%d') + relativedelta(days=-180)).strftime('%Y%m%d')

 

print(date_param['d30'])

반응형

'Python, PySpark' 카테고리의 다른 글

Python 주요 라이브러리  (0) 2021.05.13
Python에서 하둡으로 자료 보내기  (0) 2021.05.13
Python - 날짜 관련 함수들  (0) 2021.05.07
Jupyter Notebook 명령어 및 옵션들  (0) 2021.05.06
Python 기본 함수들  (0) 2021.05.06

0. Import libraries related with date and time

 

1. date.today() : 오늘 날짜를 반환함

 

2. pandas.to_datetime(, format='') : 특정 날짜 포맷 String 값을 날짜시간 값으로 변환 해줌

3. relativedelta(years=, months=, days=, minutes=, seconds) : 특정 날짜에서 전/후로 계산해서 날짜를 반환해줌. SAS의 intnx() 함수와 유사한 형태

 

 예) 60개월전 첫 날짜 가져오기

day60m=(pd.to_datetime(base_date, format='%Y%m%d') + relativedelta(months=-60)).strftime('%Y%m') + '01'

 

4. strftime('%Y%m%d') : 날짜 시간 값을 '%Y%m%d'와 같은 포맷에 맞춰서 String 값으로 변환해준다.

반응형

 오늘 보는 것은,  Jupyter Notebook 명령어 및 옵션들 입니다.

 

1. %run '/kr/dep/kjpark/date_macro.py'

 => 프로그램을 실행시키는 명령어

 

2. %pwd

 => 현재 디렉터리 위치를 알려줌.

 import os

 os.getcwd()

 위와 동일한 기능을 합니다.

 

3. np.set_printoptions(threshold=sys.maxsize)

  numpy array를 중단 없이 화면에 모두 출력해 주는 옵션입니다.

 

4. pd.set_option('display.max_columns', None)

 pandas에서 보여주는 자료의 컬럼을 중간에 끊김(truncate)없이 보여주는 옵션

 

 

반응형

 여기는 기본적인 파이썬 함수들을 정리합니다.

 

1. 객체의 삭제 : del 객체명 

위와 같이 하면, 정리가 됩니다.

 2. 다중 조건문을 사용해서 변수를 사용하는 방법 

 

 A. numpy.select를 사용하는 방법

col = 'consumption_energy'

conditions = [ df2[col] >= 400, (df2[col] < 400) & (df2[col]> 200), df2[col] <= 200 ]

choices = [ "high", 'medium', 'low' ]

 

df2["energy_class"] = np.select(conditions, choices, default=np.nan)

 

 B. numpy.where를 중첩해서 사용하는 방법

 

 C. 사용자 함수를 만들어서 넣는 방법

반응형

+ Recent posts