• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

pandas 날짜 계산 질문 드립니다.

19.10.15 00:38 작성 조회수 150

1

안녕하세요. 멋진 강의 잘 듣고 있습니다. 

pandas 를 활용해서 날짜 계산을 하고 싶은데.

df = pd.DataFrame({"YYYYMMDD1":['20190930','20190930','20190930','20190930'],

                "YYYYMMDD2":['20190930','20190205','20190315','20190420']})

#한달 후 동일일자

df["경과일자"] = (pd.to_datetime(df["YYYYMMDD2"]) + pd.DateOffset(months=1)).dt.strftime('%Y%m%d')

#한달 후의 시작일자

df["경과일자_start"] = (pd.to_datetime(df["YYYYMMDD2"]) + pd.offsets.MonthBegin(1)).dt.strftime('%Y%m%d')

#한달 후의 마지막 일자

df["경과일자_end"] = (pd.to_datetime(df["YYYYMMDD2"]) + pd.offsets.MonthEnd(1)).dt.strftime('%Y%m%d')

result

YYYYMMDD1 YYYYMMDD2 경과일자 경과일자_start 경과일자_end
0 20190930 20190930 20191030 20191001 20191031
1 20190930 20190205 20190305 20190301 20190228
2 20190930 20190315 20190415 20190401 20190331
3 20190930 20190420 20190520 20190501 20190430

컬럼이 밀렸는데요... ㅜㅜ

마지막 컬럼상 날짜(경과일자_end)가 20191031은 제가 원하는 결과이고

그 다음 3개의 값은 20190331, 20190430, 20190531 의 결과값을 원합니다. 

어떻게 하면 직관적으로 위의 작업이 가능할까요?

감사합니다. ~~~

답변 2

·

답변을 작성해보세요.

0

감사합니다

0

안녕하세요.

제가 질문을 제대로 이해한건지 잘 모르겠는데, 아래 링크를 참고해서 date_range의 periods와 freq를 사용해 보시는게 어떨까 싶어요. 

감사합니다.

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.date_range.html