Мои данные - это записи об отсутствии с завода. В некоторые дни нет пропусков, поэтому для этого дня нет данных или даты. Однако, и там, где это становится неуместным с другими показанными примерами, в любой день может быть несколько отсутствий по разным причинам. Соотношение даты и записи в данных не всегда равно 1:1.
Результат, на который я надеюсь, выглядит примерно так:
(index) Shift Description Instances (SUM)
01-01-14 2nd Baker Discipline 0
01-01-14 2nd Baker Vacation 0
01-01-14 1st Cooks Discipline 0
01-01-14 1st Cooks Vacation 0
01-02-14 2nd Baker Discipline 4
01-02-14 2nd Baker Vacation 3
01-02-14 1st Cooks Discipline 3
01-02-14 1st Cooks Vacation 3
И так далее. Идея заключается в том, что все смены и описания будут иметь значения для всех дней периода времени (в этом примере с 01.01.2014 по 31.12.2014).
Я прочитал несколько примеров, и ближе всего к этой работе я подошел к здесь.
ts = pd.read_csv('Absentee_Data_2.csv'
, encoding = 'utf-8'
,parse_dates=[3]
,index_col=3
,dayfirst=True
)
idx = pd.date_range('01.01.2009', '12.31.2017')
ts.index = pd.DatetimeIndex(ts.index)
# ts = ts.reindex(idx, fill_value='NaN')
df = pd.DataFrame(index = idx)
df1 = df.join(ts, how='left')
Но когда я раскомментирую ts = ts.reindex(idx, fill_value='NaN')
, я получаю сообщения об ошибках. Я пробовал как минимум 10 других способов добиться того, что я пытаюсь сделать, поэтому я не уверен на 100%, что это правильный путь, но, похоже, он приблизил меня к какому-либо прогрессу.
Вот некоторые примеры данных:
Description Unexcused Instances Date Shift
Discipline FALSE 1 Jan 2 2014 2nd Baker
Vacation TRUE 2 Jan 2 2014 1st Cooks
Discipline FALSE 3 Jan 2 2014 2nd Baker
Vacation TRUE 1 Jan 2 2014 1st Cooks
Discipline FALSE 2 Apr 8 2014 2nd Baker
Vacation TRUE 3 Apr 8 2014 1st Cooks
Discipline FALSE 1 Jun 1 2014 2nd Baker
Vacation TRUE 2 Jun 1 2014 1st Cooks
Discipline FALSE 3 Jun 1 2014 2nd Baker
Vacation TRUE 1 Jun 1 2014 1st Cooks
Vacation TRUE 2 Jul 5 2014 1st Cooks
Discipline FALSE 3 Jul 5 2014 2nd Baker
Vacation TRUE 2 Dec 3 2014 1st Cooks
Заранее спасибо за помощь, я новичок и уже 2 дня без особого прогресса. Я очень ценю то, как люди здесь помогают с ответами, но самое главное — с инструкциями о том, почему решения работают. Такие новички, как я, очень благодарны за то, что поделились мудростью.