4

Is it possible to reset columns so they becomes first row of DataFrame. For example,

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
   a  b
0  1  4
1  2  5
2  3  6

Desired ouput,

df2 = df.reset_column() ???
   0  1
0  a  b
1  1  4
2  2  5
3  3  6
Oli
  • 1,313
  • 14
  • 31
  • Does this answer your question? [Reset column index in Pandas to 0,1,2,3...?](https://stackoverflow.com/questions/42284617/reset-column-index-in-pandas-to-0-1-2-3) – satk0 Dec 28 '22 at 18:54

3 Answers3

8

Can also chain reset.index

df.T.reset_index().T.reset_index(drop=True)

    0   1
0   a   b
1   1   4
2   2   5
3   3   6
rafaelc
  • 57,686
  • 15
  • 58
  • 82
  • I didn't want to preserve the column headers, so did: `df.reset_index(drop=True).T.reset_index(drop=True).T` – Nikhil VJ Dec 19 '21 at 08:02
7

Use

In [57]: pd.DataFrame(np.vstack([df.columns, df]))
Out[57]:
   0  1
0  a  b
1  1  4
2  2  5
3  3  6
Zero
  • 74,117
  • 18
  • 147
  • 154
1

Inserting column names at the first row and resetting the indices.

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

df.loc[-1] = df.columns
df.index = df.index + 1
df = df.sort_index()
df.columns = [0,1]
df

    0   1
0   a   b
1   1   4
2   2   5
3   3   6