Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 한빛미디어
- 딥러닝
- Linux
- Python
- 파이썬 시각화
- 독후감
- tensorflow
- python visualization
- 블로그
- 텐서플로
- 시각화
- 한빛미디어서평단
- 리눅스
- Blog
- Ga
- Tistory
- SQL
- 티스토리
- 월간결산
- Visualization
- 매틀랩
- 파이썬
- Pandas
- 통계학
- 서평
- Google Analytics
- matplotlib
- 서평단
- MySQL
- MATLAB
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] relativedelta 를 활용한 date_add 구현 본문
0. 목표
- relativedelta 를 활용한 date_add 구현
1. 실습하기
1) library 호출
import pandas as pd
from dateutil.relativedelta import relativedelta
2) 데이터 프레임 생성
df = pd.DataFrame({'id' : [1, 2, 3, 4, 5],
'date' : ['2021-01-01 11:11:11', '2021-02-01 11:11:11', '2021-01-03 11:11:11', '2021-04-10 11:11:11', '2021-05-01 11:11:11']})
3) 데이터 형식 변경
df['date'] = pd.to_datetime(df['date'], format="%Y-%m-%d %H:%M:%S")
4) 데이터 형식 확인
df.dtypes
5) 함수 생성
- d, m, y 에 따라 년, 월, 일 단위 별로 계산
def date_add2(x, time, time_delta):
if time == 'd':
return x + relativedelta(days = time_delta)
elif time == 'm':
return x + relativedelta(months = time_delta)
elif time == 'y':
return x + relativedelta(years = time_delta)
else:
return x
6) 테스트
- 1년 빼기
df['date2'] = df.apply(lambda x : date_add2(x['date'], 'y', -1), axis = 1)
2. 참고
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] stackplot 으로 Age Of Empires 그래프 그리기 (0) | 2021.07.18 |
---|---|
[PYTHON] pandas-bokeh 라이브러리 써보기 (0) | 2021.07.16 |
[PYTHON] pandas query 함수 사용하기 (0) | 2021.07.09 |
[PYTHON] isin 으로 SQL in, not in 구현 (0) | 2021.07.07 |
[PYTHON] lambda 와 정규표현식을 이용한 SQL like 구현 (0) | 2021.07.06 |
Comments