Efficiently building a pandas dataframe row by row
Instead of using the for loop and repeating the rows, you can use numpy.
import pandas as pdimport numpy as npdf = pd.DataFrame({'Location':['New York','Florida','California', 'Nevada','Georgia'], 'Owner':['John','Gary','Mike','Kate','Lucy'], 'Score':[50,80,70,90,80]})print (df)new_df = pd.DataFrame(np.repeat(df.values,2,axis=0))print (new_df)
Original dataframe:
Location Owner Score0 New York John 501 Florida Gary 802 California Mike 703 Nevada Kate 904 Georgia Lucy 80
New Dataframe with repeated rows:
0 1 20 New York John 501 New York John 502 Florida Gary 803 Florida Gary 804 California Mike 705 California Mike 706 Nevada Kate 907 Nevada Kate 908 Georgia Lucy 809 Georgia Lucy 80