cartesian product in pandas

前端 未结 11 1996
再見小時候
再見小時候 2020-11-21 23:35

I have two pandas dataframes:

from pandas import DataFrame
df1 = DataFrame({\'col1\':[1,2],\'col2\':[3,4]})
df2 = DataFrame({\'col3\':[5,6]})     

11条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-22 00:04

    Use pd.MultiIndex.from_product as an index in an otherwise empty dataframe, then reset its index, and you're done.

    a = [1, 2, 3]
    b = ["a", "b", "c"]
    
    index = pd.MultiIndex.from_product([a, b], names = ["a", "b"])
    
    pd.DataFrame(index = index).reset_index()
    

    out:

       a  b
    0  1  a
    1  1  b
    2  1  c
    3  2  a
    4  2  b
    5  2  c
    6  3  a
    7  3  b
    8  3  c
    

提交回复
热议问题