Hmm, yes of course. Is there a way to do it like this (changing the index names, and resetting the index) without making a full copy of the entire dataframe?

Otherwise, maybe the previous logic to not reset the index, but just keeping track of the index names to insert them manually if needed in the table create statement and adding the index values when iterating over the rows of the dataframe, was better? 
It is a little bit more complicated than doing reset_index and then just writing that frame, but this avoids an extra copy? (only a copy whith itertuples) I don't know to what extent this is important