extract_df = pd.concat([extract_df, cols.drop(['datetime', 'values']).
    to_frame().T], axis=1).fillna(method='ffill').fillna(method='bfill')
new_df = pd.concat([new_df, extract_df], ignore_index=True)
Pandas: How do I split multiple lists in columns into multiple rows?