Pyspark DF со списком дат (с PANDAS) с сегодняшнего дня НАЗАД 1 год

1

Утро Все,

Я пытаюсь создать Pyspark DF со списком дат с сегодняшнего дня назад 1 год.

Пока я могу получить список, идущий с сегодняшнего дня с этим

import pandas as pd
dates = pd.date_range(pd.datetime.today(), periods=365).tolist()
dates = list(map(pd.Timestamp.to_pydatetime, dates))
dates_df = spark.createDataFrame(dates, T.TimestampType())

Но это дает мне

value
2018-08-01
2018-08-02
...  
2019-08-02

Я старался

dates ['new_value'] = dates['value'].apply(lambda x: x - pd.DateOffset(years=1)) 

но не уйти... то, что я действительно хочу,

value
2018-08-01
2018-07-31
...  
2017-07-21

мысли?

Теги:
pandas
pyspark
pyspark-sql

1 ответ

0
Лучший ответ

Установите pd.date_range для завершения в текущий день и сохраните свои периоды одинаково, а затем просто отмените серию:

dates = pd.date_range(end=pd.datetime.today(), periods=365).tolist()[::-1]

Выход:

[Timestamp('2018-07-31 23:06:54.977885', freq='D'),
 Timestamp('2018-07-30 23:06:54.977885', freq='D'),
 Timestamp('2018-07-29 23:06:54.977885', freq='D'),
 Timestamp('2018-07-28 23:06:54.977885', freq='D'),
 Timestamp('2018-07-27 23:06:54.977885', freq='D')
...
 Timestamp('2017-08-05 23:06:54.977885', freq='D'),
 Timestamp('2017-08-04 23:06:54.977885', freq='D'),
 Timestamp('2017-08-03 23:06:54.977885', freq='D'),
 Timestamp('2017-08-02 23:06:54.977885', freq='D'),
 Timestamp('2017-08-01 23:06:54.977885', freq='D')]
  • 0
    Отлично, спасибо большое !!!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню