title: Shift pyspark column value to left by one
body: <p>I have a pyspark dataframe that looks like this:</p>
  <pre><code>|name|age|height      |weight             
  +-------------+--------------------+------------------------+------------------------+-------------------------+--------------------+------------------+------------------+------------+
  |  |Mike       |20|6-7|
  </code></pre>
  <p>As you can see the values and the column names are not aligned. For example, &quot;Mike&quot; should be under the column of &quot;name&quot;, instead of age.</p>
  <p>How can I shift the values to left by one so it can match the column name?
  The ideal dataframe looks like:</p>
  <pre><code>   |name|age|height  |weight             
      +-------------+--------------------+------------------------+------------------------+-------------------------+--------------------+------------------+------------------+------------+
      | Mike  |20  |6-0|160|
  </code></pre>
  <p>Please note that the above data is just an example. In reality I have more than 200 columns and more than 1M rows of data.</p>