Блоки данных: Python генерирует массив с датой - PullRequest
0 голосов
/ 26 сентября 2019

Можно ли сгенерировать массив с форматом даты, например, следующий datearray = ["20190901", "20190902" ...… .., "20190930"]

Я хочу сделать, если я введудиапазон дат, он будет автоматически генерироваться.массив

с использованием блоков данных python

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Я заметил, что ответ Sreeram использует Pandas, который не использует возможности Databricks.

Таким образом, я предлагаю более естественный способ сделать это из Databricks:

spark.sql("SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval 1 month) AS Date").show()

, который возвращает список, подобный [2018-01-01,2018-02-01,2018-03-01] с именем столбца Дата.

Затем его можно преобразовать, используя

from pyspark.sql.functions import to_date

Источник1 Источник2

0 голосов
/ 26 сентября 2019

Для этой задачи вы можете использовать pandas, например:

start = '20190101'
end = '20190501'

[str(x).replace('-', '').split()[0] for x in pd.date_range(start=pd.Timestamp(start), end=pd.Timestamp(end), freq='1D')]

Вместо указания даты окончания, если вы хотите указать количество дней, вы можете увидеть это,

start = '20190101'
days = 100

[str(x).replace('-', '').split()[0] for x in pd.date_range(start=pd.Timestamp(start), end=pd.Timestamp(start) + pd.Timedelta(days=days), freq='1D')]
...