[파이썬] 월별 마지막날 짜 구하기

조회수 517회
base_date     id
2022-07         A
2022-07         B
2022-08         A
2022-08         B

이런 데이터프레임 형식의 데이터에서, 월별 마지막 날짜를 추가한 base_date를 구하고 싶습니다.

결과 예제

base_date    bade_date_day     id
2022-07      2022-07-31         A
2022-07      2022-07-31         B
2022-08      2022-08-30         A
2022-08      2022-08-30         B

1 답변

  • 파이썬이나 데이터프레임은 잘 모르겠는데 기본 개념은 간단합니다. 예컨대 2022-02의 마지막 날을 구하려면:

    1. 그 년월의 제 1일을 상정하여 2022-02-01을 얻습니다.
    2. 1에 1개월을 더해서 2022-03-01을 얻습니다.
    3. 2에서 하루를 빼서 2022-02-28을 얻습니다. 끝.

    대부분의 언어가 "1개월 더하기", "1일 빼기" 정도의 날짜-시간-타임존 계산 가능한 구현체는 제공을 합니다. 예컨대 PHP에는 DateTime이 있으므로:

    $baseDate = new DateTime('2022-02-01');
    $baseDateDay = $baseDate->modify('+1 month')->modify('-1 day');
    

    파이썬도 이런 게 있겠지요. 찾아보시고 직접 해보세요!

    • 감사합니다. 윤년은 어떻게 해결해야 할까요? Go Dweyw 2022.7.25 17:28
    • 아마 그 구현체들이 해결해줄 거에요. (그게 되는 걸 골라서 쓰셔야 합니다. 내가 해결해야겠다고 생각하시면 안되고요.) 엽토군 2022.7.25 17:37

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)