I've checked other questions here but I don't think they've answered my issue (though it is quite possible I don't understand the solution).
I have daily data CSV files and have created a year-long pandas dataframe with a datetime index. I'm trying to merge all of these CSVs onto the main DataFrame and populate the columns, but I end up with hundreds of columns with the _x _y appendix as they all have the same column names.
I want to populate all these columns in-place, I know there must be a logical way of doing so but I can't seem to find it.
Edit to add info:
The original dataframe has several columns, of which I use a subset.
Index  SOC  HiTemp  LowTemp  UploadTime           Col_B  Col_C  Col_D  Col_E
0      55    24       22     2019-01-01T00:02:00    z      z      z      z
1
2
I create an empty dataframe with the datetimeindex I want then run a loop for all of the CSV files.
datindex = pd.DatetimeIndex(start="01/01/2019",periods = 525600, freq = 'T')
master_index = pd.DataFrame(index=datindex)
for fname in os.listdir('.'):
        data = pd.read_csv(fname)
        data["UploadTime"] = data["UploadTime"].str.replace('T','-').str[:-3]
        data["UploadTime"] = pd.to_datetime(data["UploadTime"], format="%Y-%m-%d- 
        %H:%M")
        data.drop_duplicates(subset="UploadTime", keep='first', inplace=True)
        data.set_index("UploadTime", inplace=True)
        selection = data[['Soc','EDischarge', 'EGridCharge', 
        'Echarge','Einput','Pbat','PrealL1','PrealL2','PrealL3']].copy(deep=True)
        master_index = master_index.merge(selection, how= "left", left_index=True,right_index=True)
The initial merge creates the appropriate columns in master_index, but each subsequent merge creates a new set of columns: I want them to fill up the same columns, overwriting the NaN that the initial merge put there. In this way I should end up with as complete a dataset as possible (some days and timestamps are missing)
 
    