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
- timeseries decomposition
- stl
- 빈 데이터프레임 #pandas #데이터전처리
- 시계열시각화
- 응용이 보이는 선형대수
- 짧은 시계열 # 금융시계열
- Python
- 년월일 데이터
- 시계열분해
- 크롤링자동화
- 리눅스개념
- 시간형식변환
- 시간형식
- loess
- 플로틀리
- np.split
- 오제이튜브
- pandas # 월말 날짜 # 마지막 주 # 날짜계산 # 시계열 # 마지막 주 금요일
- adf_test
- seaborn # kdeplot # 데이터분석
- 시계열 #reindex #인덱스 확장 #datetime index #index extention # 데이터전처리
- 시계열데이터셋
- 파이프라인전처리
- 시계열
- 음수값 #전처리 #선형보간 #pandas #데이터 #데이터분석
- 확률
- 날짜파싱
- 이수역 양식집
- 시계열모듈
- pandas
Archives
- Today
- Total
데이터분석과 개발
[pandas] 데이터프레임 날짜 인덱스 늘리기(reindex) 본문
* 공부한 것을 정리한 글이므로 틀린 내용이 있을 수 있습니다.
* 더 좋은 방법 또는 틀린부분이 발견될 시 계속 수정하며 업데이트 할 예정입니다.
다른 두 개의 시계열 데이터를 비교하려 할때 날짜의 시작 끝이 달라서 어떻게 맞춰줄 지
많이 고민했었습니다.
기준 시계열의 경우 월데이터 2022년 1월~ 2023년 2월 데이터였고
비교할 시계열의 경우 월데이터 2022년 1월~ 2023년 1월까지 밖에 없던 상황입니다.
seaborn 모듈의 'flights'데이터셋을 사용하여 보겠습니다.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset("flights")
df
기준 데이터를 1950년 1월 ~ 1951년 2월, 다른 데이터를 1950년 1월~12월로 만들어 보겠습니다.
# 문자열 -> 숫자형
df['month'] = pd.factorize(df['month'])[0] +1
# 숫자 -> 문자열
df['year'] = df['year'].astype('str')
df['month'] = df['month'].astype('str')
# 문자열 -> datetime 형식 인덱스 생성
df['date'] = df['year'] + '-' + df['month']
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')
df_a = df['passengers'].loc["1950-01":"1951-02"].to_frame()
df_b = df['passengers'].loc["1950-01":"1950-12"].to_frame()
다음 df_a, df_b의 결과입니다.
df_b의 날짜 인덱스를 1950년 8월까지 늘리고 싶을땐 reindex 함수를 사용하면 됩니다.
# 새로운 날짜 범위(1950년 1월~ 1950년 8월) 지정
new_date_range = df_a.index
# reindex 함수 사용하여 늘려주기
df_b.reindex(new_date_range)
7월 8월 인덱스가 잘 추가된 것을 볼 수 있습니다!
간단하지만 막상하려니 어떻게 할지 바로 떠오르지 않았네요ㅜ 전처리는 마스터하는날까지 포스팅을 해야겠습니다.
감사합니다!
'AI(시계열) > 데이터 전처리' 카테고리의 다른 글
[pandas] 한달 전 월말 날짜 구하기 (0) | 2023.03.17 |
---|---|
[pandas] if 문으로 빈 데이터프레임 거르기 (0) | 2023.03.16 |
[Pandas] 데이터 음수값 없애기 (0) | 2023.03.14 |
[Pandas] 년,월,일 따로 있는 데이터 읽기 : parse_dates, date_parser, index_col (0) | 2023.01.08 |