데이터 분석 - 3

CYSSSSSSSSS·2023년 8월 14일
0

데이터분석

목록 보기
3/19

시계열 데이터 처리

  • 행과 행에 시간의 순서 (흐름)

  • 행과 행 의 시간간격이 동일한 데이터

  • 날짜 타입의 변수로 부터 날짜의 요소를 뽑아낼 수 있습니다.

  • dt.날짜요소(년,월,일,시,분,초,분기,요일,...등등)

pd.to_datetime

# 년 - 월 - 일 형식으로 받는것이다.
pd.to_datetime(data['Date'] , format = '%y - %m - %d')
  • format 형식은 알려줘야 한다.

날짜 요소 추출

date.dt.year
date.dt.month
date.dt.day
date.dt.weekday (0 : 월요일 1:화요일  ~~ 6:일요일)
date.dt.day_name() : 요일 (이름)

시간에 흐름 추가

  • 시계열 데이터에서 시간의 흐름 전후로 정보를 이동시킬 때 사용

shift

  • 시간의 흐름은 정보 전후 관계가 중요하기 때문에 데이터를 떙겨오거나 밀어 올리는 방법 이다.
  • 반드시 시계열 데이터 일때만 사용 가능하다
  • default = 1 , 0< value 이전값을 가져와라 value <0 아래 행에서 끌고와라
temp = data.loc[:,['Date','Amt']]
# 전날 매출액 열을 추가합시다.
temp['Amt_lag'] = temp['Amt'].shift() #default = 1

# 전전날 매출액 열을 추가.
temp['Amt_lag2'] = temp['Amt'].shift(2) # 2행 shift

# 다음날 매출액 열을 추가합시다.
temp['Amt_lag_1'] = temp['Amt'].shift(-1)

temp.head()

rolling + 집계 함수

  • 시간에 흐름에 따라 일정 기간 동안 평균을 이동하면서 구하기

  • rolling(n): 기본값 1 , min_periods 최소 데이터 수

  • n = 몇일 동안에 + 집계함수 를 구해라

  • 최소 데이터가 몇개 이상이여야 집계함수가 계산이 된다.

    # 7일 이동평균 매출액을 구해 봅시다.
    temp['Amt_MA7_1'] = temp['Amt'].rolling(7).mean()
    temp['Amt_MA7_2'] = temp['Amt'].rolling(7, min_periods = 1).mean()
    temp.head(10)

diff

  • 특정 시점 데이터 , 이전 시점 데이터와이 차이 구하기

    df['newcolumn'] = temp['basiccolumn'].diff()

  • 이전 값의 차이를 구한다.

profile
개발자 되고 싶어요

1개의 댓글

comment-user-thumbnail
2024년 6월 18일

저도 직장인인데 데이터 분석가로 커리어 전환 준비 중이거든요..! 좋은 취준 팁 얻고 갑니다! 다른 사람들은 어떻게 공부하는지 궁금할 때 가끔 블로그 찾아보고 있는데 도움이 많이 됩니다~! 혹시 저처럼 직장 병행하느라 시간 부족하신 분들은 저랑 같이 공부해보시면 어떨까요..ㅎㅎ 저도 많이 부족하긴 하지만, 현직자분들이 직접 저녁까지 1:1로 코칭해주시거든요..!
고민 중이신 분들 있다면 한 번 들어와서 보셔요..!
https://zrr.kr/CH2L

답글 달기