當我有兩個或多個迭代器時,我有一個用於創建Pandas MultiIndex的實用函數,並且我希望這些迭代器中的每個唯一配對值都具有一個索引鍵。它看起來像這樣從iterables的產品中製作一個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圖書館本身有什麼遺漏/誤解提供了這種功能?
修改即可添加:此功能爲爲MultiIndex.from_product
爲0.13.1版本。
AFAICT,你寫道,*應*在大熊貓 –