[python] Arrow 라이브러리를 사용한 일간, 주간, 월간 집계

Arrow는 Python에서 날짜와 시간을 다루기 위한 강력한 라이브러리입니다. Arrow를 사용하여 일간, 주간, 월간 데이터를 집계해보도록 하겠습니다.

필요한 패키지 설치

pip install arrow

일간 집계

import arrow

data = [
    {"date": "2021-01-01", "value": 10},
    {"date": "2021-01-02", "value": 15},
    {"date": "2021-01-03", "value": 20},
    # ...
]

# Arrow 객체를 사용하여 날짜를 파싱
parsed_data = [
    {"date": arrow.get(item["date"]), "value": item["value"]}
    for item in data
]

# 일간 집계
daily_aggregate = {}

for item in parsed_data:
    date = item["date"].format("YYYY-MM-DD")
    value = item["value"]

    if date in daily_aggregate:
        daily_aggregate[date] += value
    else:
        daily_aggregate[date] = value

print(daily_aggregate)

주간 집계

import arrow

data = [
    {"date": "2021-01-01", "value": 10},
    {"date": "2021-01-02", "value": 15},
    {"date": "2021-01-03", "value": 20},
    # ...
]

# Arrow 객체를 사용하여 날짜를 파싱
parsed_data = [
    {"date": arrow.get(item["date"]), "value": item["value"]}
    for item in data
]

# 주간 집계
weekly_aggregate = {}

for item in parsed_data:
    week_start = item["date"].floor("week")

    if week_start in weekly_aggregate:
        weekly_aggregate[week_start] += item["value"]
    else:
        weekly_aggregate[week_start] = item["value"]

print(weekly_aggregate)

월간 집계

import arrow

data = [
    {"date": "2021-01-01", "value": 10},
    {"date": "2021-02-01", "value": 20},
    {"date": "2021-03-01", "value": 30},
    # ...
]

# Arrow 객체를 사용하여 날짜를 파싱
parsed_data = [
    {"date": arrow.get(item["date"]), "value": item["value"]}
    for item in data
]

# 월간 집계
monthly_aggregate = {}

for item in parsed_data:
    month_start = item["date"].floor("month")

    if month_start in monthly_aggregate:
        monthly_aggregate[month_start] += item["value"]
    else:
        monthly_aggregate[month_start] = item["value"]

print(monthly_aggregate)

위의 예제 코드를 사용하여 Arrow 라이브러리를 이용해 일간, 주간, 월간 데이터 집계를 수행할 수 있습니다.

참고 자료