Создание пустого MultiIndex

Я хотел бы создатьпустой DataFrame смультииндексных перед назначением строк к нему. Я уже обнаружил, что пустым фреймам данных не нравится, когда им присваиваются мультииндексы на лету, поэтому я устанавливаю мультииндексимена во время создания. Однако я не хочу назначатьуровни, как это будет сделано позже. Это лучший код, который я получил до сих пор:

def empty_multiindex(names):
    """
    Creates empty MultiIndex from a list of level names.
    """
    return MultiIndex.from_tuples(tuples=[(None,) * len(names)], names=names)

Что дает мне

In [2]:

empty_multiindex(['one','two', 'three'])

Out[2]:

MultiIndex(levels=[[], [], []],
           labels=[[-1, -1, -1], [-1, -1, -1], [-1, -1, -1]],
           names=[u'one', u'two', u'three'])

а также

In [3]:
DataFrame(index=empty_multiindex(['one','two', 'three']))

Out[3]:
one two three
NaN NaN NaN

Ну, я не пользуюсь этими NaNs. Я могу легко бросить их позже, но это, очевидно, хакерское решение. У кого-нибудь есть лучший?

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

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