Учитывая следующий кадр данных:Панды Создать диапазон дат без выходных
import pandas as pd
df=pd.DataFrame({'A':['a','b','c'],
'first_date':['2015-08-31 00:00:00','2015-08-24 00:00:00','2015-08-25 00:00:00']})
df.first_date=pd.to_datetime(df.first_date) #(dtype='<M8[ns]')
df['last_date']=pd.to_datetime('5/6/2016') #(dtype='datetime64[ns]')
df
A first_date last_date
0 a 2015-08-31 2016-05-06
1 b 2015-08-24 2016-05-06
2 c 2015-08-25 2016-05-06
Я хотел бы создать новый столбец, который содержит список (или массив) даты между «first_date» и «last_date» который исключает выходные.
До сих пор, я попытался это:
pd.date_range(df['first_date'],df['last_date'])
... но эта ошибка:
TypeError: Cannot convert input to Timestamp
Я также попытался это раньше pd.date_range ...
pd.Timestamp(df['first_date'])
... но без кости.
Заранее благодарен!
PS:
После этого плетень, я буду пытаться смотреть на другие списки дат, и если они находятся в пределах сформированного массива (в строке «A»), а затем вычесть их из списка или массив). Я отправлю его как отдельный вопрос.
Спасибо! Итак, как вы обходились с требованием отметки времени, применяя применение к кадру данных и принимая серию списка списка? –
вы делали 'date_range (timeseries1, timeseries2)', когда это должно было быть 'date_range (timestamp1, timestampe2)'. Используя 'apply (axis = 1)', мы переходим строки за строкой, захватываем метки времени для этой строки и получаем диапазон дат для этой строки. Класс/listOlist - всего лишь трюк, чтобы получить список в одну ячейку ячеек данных. Мы могли бы сделать и другие вещи. – piRSquared
Еще раз спасибо. Последующий вопрос размещен здесь: http://stackoverflow.com/questions/37653493/pandas-remove-elements-from-datetimeindex-per-list-elements-in-range –