Заполнение dict значениями NA, чтобы разрешить преобразование в фрейм данных панд

У меня есть диктат, который содержит вычисленные значения в разные промежутки времени, что означает, что они начинаются в разные даты. Например, данные, которые у меня есть, могут выглядеть следующим образом:

Date      col1    col2    col3    col4    col5
01-01-15  5       12      1      -15      10
01-02-15  7       0       9       11      7
01-03-15          6       1       2       18
01-04-15          9       8       10
01-05-15         -4               7
01-06-15         -11             -1
01-07-15          6               

Где каждый заголовок является ключом, а каждый столбец значений является значением для каждого ключа (я используюdefaultdict(list) за это). Когда я пытаюсь бежатьpd.DataFrame.from_dict(d) По понятным причинам я получаю сообщение об ошибке, утверждающее, что все массивы должны быть одинаковой длины. Есть ли простой / тривиальный способ заполнить или дополнить числа так, чтобы в результате получился следующий фрейм данных?

Date      col1    col2    col3    col4    col5
01-01-15  5       12      1      -15      10
01-02-15  7       0       9       11      7
01-03-15  NaN     6       1       2       18
01-04-15  NaN     9       8       10      NaN
01-05-15  NaN    -4       NaN     7       NaN
01-06-15  NaN    -11      NaN    -1       NaN
01-07-15  NaN     6       NaN     NaN     NaN

Или мне придется делать это вручную с каждым списком?

Вот код для воссоздания словаря:

import pandas as pd
from collections import defaultdict

d = defaultdict(list)
d["Date"].extend([
    "01-01-15", 
    "01-02-15", 
    "01-03-15", 
    "01-04-15", 
    "01-05-15",
    "01-06-15",
    "01-07-15"
]
d["col1"].extend([5, 7])
d["col2"].extend([12, 0, 6, 9, -4, -11, 6])
d["col3"].extend([1, 9, 1, 8])
d["col4"].extend([-15, 11, 2, 10, 7, -1])
d["col5"].extend([10, 7, 18])

Ответы на вопрос(4)

Ваш ответ на вопрос