У меня есть фрейм данных с индексом диапазона и без данных, в реальных данных индекс - это временной диапазон.
* 1003 Е.Г. *
df_main = pd.DataFrame(index = pd.RangeIndex(0,15,1))
См. Фиг.1
И у меня есть несколько фреймов данных с разными столбцами и индексами, я просто хочу присоединить их к основному фрейму данных на основе индекса:
df1 = pd.DataFrame({'value': [1, 2, 3, 5]}, index = pd.RangeIndex(0,4,1))
df2 = pd.DataFrame({'value': [5, 6, 7, 8]}, index = pd.RangeIndex(4,8,1))
df3 = pd.DataFrame({'value2': [9, 8, 7, 6]}, index = pd.RangeIndex(0,4,1))
df4 = pd.DataFrame({'value': [1, 2],'value2': [3, 4],'value3': [5, 6]}, index = pd.RangeIndex(10,12,1))
См. Рис 2,3,4,5
Я попробовал concat:
display(pd.concat([df_main,df1,df2,df3,df4]))
Что дает мне нежелательный вывод, который вы видите на Рис. 6.
Я также попытался соединиться, что приводит к ошибке, которую я не понял:
ValueError: Indexes have overlapping values: Index(['value', 'value2'], dtype='object')
То, что я хочу, это вывод, который вы видите на Рис.7.