title: Cross terms based columns in dataframe
body: <p>How should I generate the data2 from data1? <br />
  The rows of data2 should be the corss terms of data1.<br />
  Thanks in advance!</p>
  <blockquote>
  <pre><code>data1 = pd.DataFrame([('1M, 6M, 1Y'), ('1M, 6M, 1Y')])
              0
  0  1M, 6M, 1Y
  1  1M, 6M, 1Y
  </code></pre>
  </blockquote>
  <blockquote>
  <pre><code>data2 = pd.DataFrame([('1M', '1M'),
                       ('1M', '6M'),
                       ('1M', '1Y'),
                       ('6M', '1M'),
                       ('6M', '6M'),
                       ('6M', '1Y'),
                       ('1Y', '1M'),
                       ('1Y', '6M'),
                       ('1Y', '1Y'),])
  
      0   1
  0  1M  1M
  1  1M  6M
  2  1M  1Y
  3  6M  1M
  4  6M  6M
  5  6M  1Y
  6  1Y  1M
  7  1Y  6M
  8  1Y  1Y
  </code></pre>
  </blockquote>