Transpose the data in a column every nth rows in PANDAS
<p>For a research project, I need to process every individual's information from the website into an excel file. I have copied and pasted everything I need from the website onto a single column in an excel file, and I loaded that file using PANDAS. However, I need to present each individual's information horizontally instead of vertically like it is now. 
For example, this is what I have right now. I only have one column of unorganized data.</p>

<pre><code>df= pd.read_csv("ior work.csv", encoding = "ISO-8859-1")
</code></pre>

<p>Data:</p>

<pre><code>0 Andrew
1 School of Music
2 Music: Sound of the wind
3 Dr. Seuss
4 Dr.Sass
5 Michelle
6 School of Theatrics
7 Music: Voice
8 Dr. A
9 Dr. B
</code></pre>

<p>I want transpose every 5 lines to organize the data into this organizational format; the labels below are labels of the columns. </p>

<pre><code>Name School Music Mentor1 Mentor2
</code></pre>

<p>What is the most efficient way to do this? </p>

<p>If no data are missing, you can use <a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html" rel="nofollow"><code>numpy.reshape</code></a>:</p>

<pre><code>print (np.reshape(df.values,(2,5)))
[['Andrew' 'School of Music' 'Music: Sound of the wind' 'Dr. Seuss'
  'Dr.Sass']
 ['Michelle' 'School of Theatrics' 'Music: Voice' 'Dr. A' 'Dr. B']]

print (pd.DataFrame(np.reshape(df.values,(2,5)), 
                    columns=['Name','School','Music','Mentor1','Mentor2']))
       Name               School                     Music    Mentor1  Mentor2
0    Andrew      School of Music  Music: Sound of the wind  Dr. Seuss  Dr.Sass
1  Michelle  School of Theatrics              Music: Voice      Dr. A    Dr. B
</code></pre>

<p>More general solution with generating <code>length</code> of new <code>array</code> by <a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.shape.html" rel="nofollow"><code>shape</code></a> divide by number of columns:</p>

<pre><code>print (pd.DataFrame(np.reshape(df.values,(df.shape[0] / 5,5)), 
                    columns=['Name','School','Music','Mentor1','Mentor2']))
       Name               School                     Music    Mentor1  Mentor2
0    Andrew      School of Music  Music: Sound of the wind  Dr. Seuss  Dr.Sass
1  Michelle  School of Theatrics              Music: Voice      Dr. A    Dr. B
</code></pre>

<p>Thank you <a href="http://stackoverflow.com/questions/39761366/transpose-the-data-in-a-column-every-nth-rows-in-pandas/39762293?noredirect=1#comment66820514_39762293">piRSquared</a> for another solution:</p>

<pre><code>print (pd.DataFrame(df.values.reshape(-1, 5), 
                    columns=['Name','School','Music','Mentor1','Mentor2']))
</code></pre>

python pandas dataframe reshape transpose