У меня есть функция утилиты для создания Pandas MultiIndex, когда у меня есть два или более итерационных файла, и я хочу использовать индексный ключ для каждого уникального спаривания значений в этих итерабелях. Похоже на это
import pandas as pd
import itertools
def product_index(values, names=None):
"""Make a MultiIndex from the combinatorial product of the values."""
iterable = itertools.product(*values)
idx = pd.MultiIndex.from_tuples(list(iterable), names=names)
return idx
И может использоваться как:
a = range(3)
b = list("ab")
product_index([a, b])
Чтобы создать
MultiIndex(levels=[[0, 1, 2], [u'a', u'b']],
labels=[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]])
Это работает отлично, но это похоже на обычную утилиту, и я удивлен, что мне пришлось ее реализовать самостоятельно. Итак, мой вопрос: что я пропустил/неправильно понял в самой библиотеке Pandas, которая предлагает эту функциональность?
Изменить для добавления: Эта функция была добавлена в Pandas в качестве MultiIndex.from_product
для версии 0.13.1.