Панды date_range не возвращает значений - PullRequest
0 голосов
/ 26 июня 2019

У меня сейчас проблема с pandas date_range.У меня есть 2 даты в типе datetime64 [ns].Дата начала и дата окончания.Я пытаюсь создать фрейм данных, содержащий значения date_range между этими двумя датами, в качестве индекса.Однако созданный фрейм данных пуст, хотя он должен содержать значения.

Обратите внимание, что когда я копировал, вставил этот код и использовал его в английской версии сайта, он работал нормально.С греческим я сталкиваюсь с проблемами.

Код, который я написал:

customdatedf = pd.DataFrame(index = pd.date_range(start, end, freq='D'))

даты начала и окончания определяются из другого фрейма данных, например:

start = df['Date'].iloc[0]
end = df['Date'].iloc[-1]

и их значения возвращаются правильно, как показано в

print(start, end)

(Отметка времени ('2019-07-06 00:00:00'), Отметка времени ('2019-06-26 00:00:00 '))

Это напечатано

Ожидаемый результат - это фрейм данных, имеющий в качестве индекса даты между начальной и конечной датой

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Видимо, вы допустили ошибку с вашими start и end переменными. Поскольку начало - после конечной переменной, поэтому, чтобы исправить это, переверните их:

start = pd.Timestamp('2019-07-06 00:00:00') 
end = pd.Timestamp('2019-06-26 00:00:00')

pd.DataFrame({'Col_dummy':['Dummy']}, index=pd.date_range(end, start, freq='D'))

           Col_dummy
2019-06-26     Dummy
2019-06-27     Dummy
2019-06-28     Dummy
2019-06-29     Dummy
2019-06-30     Dummy
2019-07-01     Dummy
2019-07-02     Dummy
2019-07-03     Dummy
2019-07-04     Dummy
2019-07-05     Dummy
2019-07-06     Dummy

или , если вы хотите index:

pd.DataFrame(index=pd.date_range(end, start, freq='D'))

Empty DataFrame
Columns: []
Index: [2019-06-26 00:00:00, 2019-06-27 00:00:00, 2019-06-28 00:00:00, 2019-06-29 00:00:00, 2019-06-30 00:00:00, 2019-07-01 00:00:00, 2019-07-02 00:00:00, 2019-07-03 00:00:00, 2019-07-04 00:00:00, 2019-07-05 00:00:00, 2019-07-06 00:00:00]
0 голосов
/ 26 июня 2019

Может быть, вы могли бы изменить index на data:

customdatedf = pd.DataFrame(data = pd.date_range(start, end, freq='D'))

Обратите внимание, что имя столбца будет иметь значение по умолчанию 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...