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()
для извлечения дня года