title: Transposing values in df?
body: <p>Imagine having the following df:</p>
  <pre><code>Document type   Invoicenumber       Invoicedate  description quantity unit price line amount
  
  Invoice             123            28-08-2020
  0                   NaN            17-09-2020    test        1,5        5              20
  0                   NaN            16-04-2020    test2       1,5        5              20
  
  Invoice             456            02-03-2020
  0                   NaN            NaN           test3       21         3              64
  0                   0              NaN           test3       21         3              64            
  0                   0              NaN           test3       21         3              64 
  </code></pre>
  <p>The rows where there is a 0 are belonging to the row above and are line items of the same document.</p>
  <p>My goal is to transpose the line items so that these are on the same line for each invoice as such:
  I've tried to transpose them based on index but this did not work..</p>
  <pre><code>**Document type** **Invoicenumber Invoicedate**  description#1  description#2 quantity quantity#2 unit price   unit price #2 line amount line amount #2 
      
      Invoice             123            28-08-2020    test           test2          1,5      1,5     5            5              20         20
  </code></pre>
  <p>and for the second row:</p>
  <pre><code>**Document type** **Invoicenumber Invoicedate**  description#1  description#2 description #3 quantity quantity#2 quantity #3 unit price   unit price #2 unit price #3   line amount line amount #2 line amount #3
      
      Invoice             123            28-08-2020    test3           test3         test3         21      21           21            3              3           3              64         64            64
  </code></pre>
  <p>here is the dictionary code:</p>
  <pre><code>df = pd.DataFrame.from_dict({'Document Type': {0: 'IngramMicro.AccountsPayable.Invoice',
    1: 0,
    2: 0,
    3: 'IngramMicro.AccountsPayable.Invoice',
    4: 0,
    5: 0,
    6: 0},
   'Factuurnummer': {0: '0.78861803',
    1: 'NaN',
    2: 'NaN',
    3: '202130534',
    4: 'NaN',
    5: 'NaN',
    6: 'NaN'},
   'Factuurdatum': {0: '2021-05-03',
    1: 'NaN',
    2: 'NaN',
    3: '2021-09-03',
    4: 'NaN',
    5: 'NaN',
    6: 'NaN'},
   'description': {0: 'NaN',
    1: 'TM 300 incl onderstel 3058C003 84433210 4549292119381',
    2: 'ESP 5Y 36 inch 7950A539 00000000 4960999794266',
    3: 'NaN',
    4: 'Basistarief A3 Office',
    5: 'Toeslag 100 km enkele reis Leveren installeren Xerox VL C7020 05-03-2021',
    6: 'Toeslag 100 km enkele reis Leveren installeren Xerox VL C7020 05-03-2021'},
   'quantity': {0: 'NaN', 1: 1.0, 2: 1.0, 3: 'NaN', 4: 1.0, 5: 1.0, 6: 2.0},
   'unit price': {0: 'NaN',
    1: 1211.63,
    2: 742.79,
    3: 'NaN',
    4: 260.0,
    5: 30.0,
    6: 30.0},
   'line amount': {0: 'NaN',
    1: 21.0,
    2: 21.0,
    3: 'NaN',
    4: 260.0,
    5: 30.0,
    6: 30.0}})
  </code></pre>
  <p>I've tried the following:</p>
  <pre class="lang-py prettyprint-override"><code>df = pd.DataFrame(data=d1)
  </code></pre>
  <p>However failing to accomplish significant results.</p>
  <p>Please help !</p>