Я хотел сделать корреляцию временных рядов двух кадров данных; сырой и старый. Я создал сдвинутую во времени копию моего первого информационного кадра, названного shiftted_raw, чтобы сравнить со старой версией.
Я использовал
shifted_index=vraw_os_flight_data_df.index+timedelta(seconds=timeshift)
shifted_vraw_os_flight_data_df=vraw_os_flight_data_df.copy()
shifted_vraw_os_flight_data_df.index=shifted_index
shifted_vraw_os_flight_data_df.columns=['shifted_raw_altitude','shifted_raw_lat','shifted_raw_lon']
для создания копии необработанного кадра данных со смещенным временным индексом
Это выходные данные двух кадров данных
2018-04-05 18:45:00 368.71
2018-04-05 18:45:01 368.76
2018-04-05 21:13:59 371.35
2018-04-05 21:14:00 371.40
Freq: S, Name: old_altitude, Length: 8941, dtype: float64
2018-04-05 18:44:50 368.71
2018-04-05 18:44:51 368.76
2018-04-05 21:13:49 371.35
2018-04-05 21:13:50 371.40
Freq: S, Name: shifted_raw_altitude, Length: 8941, dtype: float64
Обратите внимание, как время в одном сдвигается на 10se c. Таким образом, сдвиг сработал, и оба индекса являются объектами даты и времени:
DatetimeIndex(['2018-04-05 18:45:00', '2018-04-05 18:45:01',
'2018-04-05 18:45:02', '2018-04-05 18:45:03',
...
'2018-04-05 21:13:57', '2018-04-05 21:13:58',
'2018-04-05 21:13:59', '2018-04-05 21:14:00'],
dtype='datetime64[ns]', name=0, length=8941, freq='S')
DatetimeIndex(['2018-04-05 18:44:50', '2018-04-05 18:44:51',
'2018-04-05 18:44:52', '2018-04-05 18:44:53',
...
'2018-04-05 21:13:47', '2018-04-05 21:13:48',
'2018-04-05 21:13:49', '2018-04-05 21:13:50'],
dtype='datetime64[ns]', name=0, length=8941, freq='S')
Тем не менее, когда я пытаюсь объединить два кадра данных, выполнив:
merged_dataframe=shifted_vraw_os_flight_data_df.merge(vold_os_flight_data_df, left_on=['shifted_raw_altitude'], right_on=['old_altitude'],how='outer',left_index=True,right_index=True)
Я получаю эту ошибку:
ValueError: Вы пытаетесь объединить столбцы float64 и datetime64 [ns]. Если вы хотите sh, чтобы продолжить, вы должны использовать pd.concat
Индексы соответствуют типу, а столбцы соответствуют типу.
Итак, вот мой вопрос нуба: что во имя Майка? я делаю не так?