Создание пустого 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. Я могу легко бросить их позже, но это, очевидно, хакерское решение. У кого-нибудь есть лучший?