Given a pandas DataFrame x of dimensions n x k, how can we efficiently generate a DataFrame y of dimensions (n over 2) x 2k, whose rows are all possible combinations of rows pairs of rows from x? For example, if x is
[[1 11],
 [2,22],
 [3,33],
 [4,44]]
then y should be
[[1,11,2,22],
 [1,11,3,33],
 [1,11,4,44],
 [2,22,3,33],
 [2,22,4,44],
 [3,33,4,44]]
 
     
    
