I have the following Pandas data frame:
print(df)
     head1  head2  head3
bar     32      3    100
bix     22    NaN    NaN
foo     11      1    NaN
qux    NaN     10    NaN
xoo    NaN      2     20
What I want to do is to convert the row names bar, bix, ... into columns such that 
in the end I have something like this:
    newhead     head1  head2  head3
0   bar         32      3    100
1   bix         22    NaN    NaN
2   foo         11      1    NaN
3   qux         NaN    10    NaN
4   xoo         NaN     2     20
How can I achieve that?
The transpose() function is used to transpose index and columns. Reflect the DataFrame over its main diagonal by writing rows as columns and vice-versa. If True, the underlying data is copied.
The command to convert Dataframe to list is pd. DataFrame. values. tolist().
df.index.name = 'newhead'
df.reset_index(inplace=True)
yields
  newhead  head1  head2  head3
0     bar     32      3    100
1     bix     22    NaN    NaN
2     foo     11      1    NaN
3     qux    NaN     10    NaN
4     xoo    NaN      2     20
                        You can do it in one line.
df.rename_axis("newhead").reset_index()
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With