728x90
shift 함수는 pandas 라이브러리에서 제공되는 함수로, 데이터 프레임의 열을 특정 방향으로 이동시키는 기능을 수행합니다. 이 함수를 사용하면 열의 값들이 한 칸씩 앞이나 뒤로 이동하게 됩니다.
shift 함수는 다음과 같은 형식으로 사용됩니다:
df['이동된 열'] = df['기존 열'].shift(periods=n)
여기서 periods=n은 이동할 칸 수를 지정하는 매개변수입니다. n이 양수인 경우 열의 값을 뒤로 이동시키고, 음수인 경우 앞으로 이동시킵니다.
이동된 결과는 새로운 열로 추가되며, 이동되는 과정에서 가장 첫 번째 값은 결측치로 채워집니다.
아래 예시를 보겠습니다.
import pandas as pd
# Create a sample DataFrame
data = {'A': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
# Shift the 'A' column forward and backward
df['A_shifted_forward'] = df['A'].shift(-1)
df['A_shifted_backward'] = df['A'].shift()
print(df)
Output: 한 칸씩 이동한 결과 결측치가 발생했습니다.
A A_shifted_forward A_shifted_backward
0 1 2.0 NaN
1 2 3.0 1.0
2 3 4.0 2.0
3 4 5.0 3.0
4 5 NaN 4.0
결측치를 채워줍니다. 결측치는 기존 열의 값으로 채워도 되고, method='ffill'이나 'bfill'로 채우는 것도 가능합니다.
# Fill missing values with the appropriate values
df['A_shifted_forward'].fillna(df['A'], inplace=True)
# df['A_shifted_forward'].fillna(method='ffill', inplace=True) # 결측치는 다양하게 채울 수 있음.
df['A_shifted_backward'].fillna(df['A'], inplace=True)
# df['A_shifted_backward'].fillna(method='bfill', inplace=True) # 결측치는 다양하게 채울 수 있음.
# Print the resulting DataFrame
print(df)
Output: 결측치가 잘 채워졌습니다.
A A_shifted_forward A_shifted_backward
0 1 2.0 1.0
1 2 3.0 1.0
2 3 4.0 2.0
3 4 5.0 3.0
4 5 5.0 4.0
shift함수를 시계열 데이터에서 shift함수를 이용해 변화를 분석하는 데 주로 사용이 됩니다.
※ 위 내용은 "빅데이터 분석기사 실기 준비를 위한 캐글 놀이터"를 따라가며 공부한 내용입니다.
https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr
728x90
'데이터분석과 AI > 빅데이터 분석기사' 카테고리의 다른 글
[빅데이터분석기사 실기][작업형1] imputer로 결측치 처리하기 (0) | 2023.06.16 |
---|---|
[빅데이터분석기사 실기][작업형1] pd.melt(), pd.pivot_table()로 데이터 프레임 변형하기 (0) | 2023.06.16 |
[빅데이터분석기사 실기][작업형1] iloc와 loc를 이용한 데이터프레임 접근 (0) | 2023.06.06 |
[빅데이터분석기사 실기][작업형1] 그룹화와 정렬 + 멀티인덱싱 (0) | 2023.06.06 |
[빅데이터분석기사 실기][작업형1] 상관관계 구하기 (0) | 2023.05.28 |
댓글