Add rows back to the top of a dataframe

Question:

I have a raw dataframe that looks like this

enter image description here

I am trying to import this data as a csv, do some calculations on the data, and then export the data. Before doing this, however, I need to remove the three lines of "header information", but keep the data as I will need to add it back to the dataframe prior to exporting. I have done this using the following lines of code:

import pandas as pd

data = pd.read_csv(r"test.csv", header = None)

info = data.iloc[0:3,]

data = data.iloc[3:,]
data.columns = data.iloc[0]
data = data[1:]
data = data.reset_index(drop = True)

The problem I am having is, how do I add the rows stored in "info" back to the top of the dataframe to make the format equivalent to the csv I imported.

Thank you

Asked By: Matt

||

Answers:

You can just use the append() function of pandas to merge two data frames. Please check by printing the final_data.

import pandas as pd

data = pd.read_csv(r"test.csv", header = None)

info = data.iloc[0:3,]

data = data.iloc[3:,]
data.columns = data.iloc[0]
data = data[1:]
data = data.reset_index(drop = True)

# Here first row of data is column header so converting back to row
data = data.columns.to_frame().T.append(data, ignore_index=True)
data.columns = range(len(data.columns))

final_data = info.append(data)
final_data = final_data.reset_index(drop = True)
Answered By: pradipghevaria