Skip to content

weekofyear(date)

Описание

Функция weekofyear() извлекает номер недели в году (1-53) из даты или временной метки.

Параметры

  • date: Column - столбец с датами или временными метками

Возвращаемое значение

Integer - номер недели в году (1-53)

Пример использования

from pyspark.sql.functions import weekofyear
from pyspark.sql import SparkSession
from datetime import datetime

# Создаем SparkSession
spark = SparkSession.builder.appName("weekofyear_example").getOrCreate()

# Создаем DataFrame с датами
data = [
    (datetime(2023, 1, 1),),    # 1 неделя
    (datetime(2023, 1, 8),),    # 2 неделя
    (datetime(2023, 12, 31),),  # 53 неделя
    (datetime(2024, 1, 1),)     # 1 неделя
]
df = spark.createDataFrame(data, ["date"])

# Извлекаем номер недели из каждой даты
result = df.select(
    "date",
    weekofyear("date").alias("week")
).show(truncate=False)

# Результат:
# +-------------------+----+
# |date               |week|
# +-------------------+----+
# |2023-01-01 00:00:00|1   |
# |2023-01-08 00:00:00|2   |
# |2023-12-31 00:00:00|53  |
# |2024-01-01 00:00:00|1   |
# +-------------------+----+

Примечания

  • NULL значения возвращают NULL
  • Недели нумеруются от 1 до 53
  • Первая неделя года - это неделя, содержащая 4 января
  • Для работы с датами также используйте:
  • year() для извлечения года
  • month() для извлечения месяца
  • day() для извлечения дня
  • quarter() для извлечения квартала
  • dayofweek() для извлечения дня недели
  • dayofyear() для извлечения дня года