Reputation: 283
have a df with values
df:
165 156 1 test greater 56gsa
-------------------------------------
spin 201 2 normal lesser 12asgs
pine 202 3 fast greater 5sasgs
required output:
0 1 2 3 4 5
-------------------------------------
165 156 1 test greater 56gsa
spin 201 2 normal lesser 12asgs
pine 202 3 fast greater 5sasgs
Upvotes: 17
Views: 19306
Reputation: 862511
If DataFrame is created from file then header=None
parameter is your friend:
df = pd.read_csv(file, header=None)
pandas >= 2.0:
If not then convert column to one row DataFrame
and concatenate (append not working anymore) to original data:
df = pd.concat([df.columns.to_frame().T, df])
df.columns = range(len(df.columns))
print (df)
0 1 2 3 4 5
0 165 156 1 test greater 56gsa
1 spin 201 2 normal lesser 12asgs
2 pine 202 3 fast greater 5sasgs
pandas < 2.0 (original answer):
If not then convert column to one row DataFrame
and DataFrame.append
to original data:
df = df.columns.to_frame().T.append(df, ignore_index=True)
df.columns = range(len(df.columns))
print (df)
0 1 2 3 4 5
0 165 156 1 test greater 56gsa
1 spin 201 2 normal lesser 12asgs
2 pine 202 3 fast greater 5sasgs
Upvotes: 19
Reputation: 71570
Try using reset_index
:
print(df.T.reset_index().T)
For resetting and dropping original columns:
print(df.T.reset_index(drop=True).T)
Upvotes: 12
Reputation: 769
Try the code below,
df.loc[len(df)] = df.columns
df.columns = range(len(df.columns))
df
Upvotes: 1