У меня есть данные нескольких временных рядов (текстовые файлы), которые образуют один временной ряд.
Вот упрощенный пример:
import pandas as pd
import datetime as dt
df1_1 = pd.DataFrame({'Date': [15/03/2019 10:00:11.000, 15/03/2019 10:00:12.000 , 15/03/2019 10:00:13.000],
'Cond [mS/cm]': [7.45, 7.45, 7.45],
'Temp [C]': [8.22, 8.22, 8.22],
'Sal [PSU]': [7.63, 7.63, 7.63]})
df1_2 = pd.DataFrame({'Date': [30/03/2019 10:00:11.000, 30/03/2019 10:00:12.000 , 30/03/2019 10:00:13.000],
'Cond [mS/cm]': [7.45, 7.45, 7.45],
'Temp [C]': [8.22, 8.22, 8.22],
'Sal [PSU]': [7.63, 7.63, 7.63]})
df2_1 = pd.DataFrame({'Date': [15/03/2019 10:00:11.000, 15/03/2019 10:00:12.000 , 15/03/2019 10:00:13.000],
'Cond_2 [mS/cm]': [7.47, 7.47, 7.47],
'Temp_2 [C]': [8.22, 8.22, 8.22],
'Sal_2 [PSU]': [7.67, 7.67, 7.67]})
df2_2 = pd.DataFrame({'Date': [30/03/2019 10:00:11.000, 30/03/2019 10:00:12.000 , 30/03/2019 10:00:13.000],
'Cond_2 [mS/cm]': [7.47, 7.47, 7.47],
'Temp_2 [C]': [8.22, 8.22, 8.22],
'Sal_2 [PSU]': [7.67, 7.67, 7.67]})
Где df1 означает данные от датчика 1, df1_1 и df_2 - это следующие фрагменты временного ряда.
Я хочу объединить все в один большой DataFrame
.
Пока что я:
- генерируемый файл, содержащий полный временной ряд (данные от датчиков
может иметь неожиданные пробелы),
- читать файлы как
DataFrames
,
- определенные заголовки,
- установить столбец «Дата» как
index
каждого DataFrame
.
Тогда я хотел бы join
DataFrames
до полного временного ряда:
full_date = dates.join([df1_1, df1_2], how = "outer")
но я получил ошибку:
ValueError: Индексы имеют перекрывающиеся значения: Index (['Cond [mS / cm]',
«Нажмите [DBar]», «Temp [C]», «Sal [PSU]»,
'Dens.anom [кг / м3]', 'SOS [м / с]'],
DTYPE = 'объект')
Чтобы проверить, действительно ли проблема в заголовках, я объединил файлы с немного разными заголовками (разные заголовки = разные датчики). Тогда я получил:
complete_df = ({' ':[01/04/2019 00:00:01, 01/04/2019 00:00:01 , 01/04/2019 00:00:01,
'Cond [mS/cm]': [NaN, NaN, NaN],
'Temp [C]': [NaN, NaN, NaN],
'Sal [PSU]': [NaN, NaN, NaN],
'Cond_2 [mS/cm]': [NaN, NaN, NaN],
'Temp_2 [C]': [NaN, NaN, NaN],
'Sal_2 [PSU]': [NaN, NaN, NaN]})
это вполне разумно, за исключением того, что данные не в правильном порядке.
Мой вопрос: как мне объединить все Dataframes, чтобы получить один большой DataFrame?