Как запросить результат за предыдущий день

В PySpark у меня есть фрейм данных, в котором есть столбец «Дата», который находится в «Дата и время» для каждой строки в таблице.

Я хотел бы запросить все строки в фрейме данных, которые произошли в предыдущий день (т.е. накануне, когда я выполняю запрос).

Я вижу этот документ https://www.datasciencemadesimple.com/subtract-or-add-days-months-and-years-to-timestamp-in-pyspark/, в котором рассказывается о том, как создать столбец во фрейме данных. который вычитает день из значений в столбце.

Но теперь я ищу, чтобы вычесть день из текущей даты и использовать это в фильтре.

Вы ищете, как создать предложение where. Ничего общего с pyspark. Получите текущую дату, вычтите один день, используйте его в предложении where.

Kashyap 10.01.2023 22:38
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Отказ от ответственности: Эта статья предназначена только для демонстрации и не должна использоваться в качестве инвестиционного совета.
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
Потяните за рычаг выброса энергососущих проектов
Потяните за рычаг выброса энергососущих проектов
На этой неделе моя команда отменила проект, над которым я работал. Неделя усилий пошла насмарку.
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Библиотека для работы с мороженым
Библиотека для работы с мороженым
Лично я попрощался с операторами print() в python. Без шуток.
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Привет, люди RPA, это снова я и я несу подарки! В очередном моем приключении о том, как создавать ботов для облегчения рутины. Вот, думаю, стоит...
0
1
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Комментарий @Kashyap говорит сам за себя, но вот пример:

from pyspark.sql.functions import col
from datetime import date, timedelta

yesterday = date.today() - timedelta(1)
df.filter(col("Date") == yesterday).show()

Если ваш столбец Date на самом деле содержит дату и время, вы можете усечь дату и время, чтобы сначала преобразовать их в даты.

from pyspark.sql.functions import col, date_trunc
from datetime import date, timedelta

yesterday = date.today() - timedelta(1)
df.filter(date_trunc("day", col("Date")) == yesterday).show()

Date_trunc будет хорошо работать только со столбцами меток времени, а не со строками.

Убедитесь, что вы заменили df своим именем DataFrame.

Но в таблице «Дата» есть Date And Time , поэтому я не могу просто сделать col («Дата») == вчера

n179911a 11.01.2023 02:36

Просто поместите название столбца вместо col("Date") лайка col("Date and Time")

Tushar Patil 11.01.2023 07:17

@ n179911a Я включил, как это сделать для даты и времени, в свое последнее редактирование.

Yassine El Bouchaibi 11.01.2023 16:00

Другие вопросы по теме