Хорошо, конечно ... Я не мог удержаться, чтобы написать ответ на ваш вопрос.Когда вы говорите все дни в месяце, я имею в виду: how do we get the last day?
И ответом на это является использование смещения (которое уже встроено в Панды).
Кроме того, что вас заправляютто, что в Пандах называется date_range
.Существует множество вариантов создания диапазона дат, например, с интервалами и частотой (по умолчанию день).Но чтобы прояснить ситуацию, давайте передадим три переменные:
- start: наша начальная дата в качестве объекта времени
- end: наша конечная дата в качестве объекта времени.Создайте его со смещением панд Monthsend
- частота: день (это необязательно, но дает понять, что мы хотим дни)
Примечание.Передайте дату окончания, так как дни месяца могут различаться.
Рассмотрите этот пример:
import pandas as pd
month = '2018-08'
df = pd.DataFrame({
'date': pd.date_range(
start = pd.Timestamp(month),
end = pd.Timestamp(month) + pd.offsets.MonthEnd(0), # <-- 2018-08-31 with MonthEnd
freq = 'D'
)
})
date_range является мощным, и если вы хотите каждый час, вы можете сделать что-то вродеэто:
df = pd.DataFrame({
'date': pd.date_range(
start = pd.Timestamp(month),
end = pd.Timestamp(month) + pd.offsets.MonthEnd(0) + pd.Timedelta(days=1),
freq = 'H', # <--- try '3h', '6h', '12h' if you want
closed = 'left'
)
})