遍历列表以按行熊猫创建笛卡尔积

时间:2019-12-20 18:31:38

标签: python pandas loops product cartesian

我想通过它们的叉积在多个列表中扩展行。我当前使用的逻辑是:

list = [['Yes', 'No', 'Maybe'], ['Yes', 'No', 'Maybe']]
    index = pd.MultiIndex.from_product(list, names = ["column1", "column2"])
    pd.DataFrame(index = index).reset_index()

不幸的是,它不能用于多个列表。我将如何运行如下所示的笛卡尔乘积: [[['是','否','也许'],['是','否','也许']],[['是','否','也许'],['是' ,“否”,“也许”]]] 仍然只让它们运行两列。我希望产生18(2 *(3 ^ 2))的叉积。

1 个答案:

答案 0 :(得分:1)

itertools.product允许您从任意数量的可迭代对象创建笛卡尔乘积:

itertools.product(*lst)