Я выполняю некоторый анализ данных временных рядов. Исходный набор данных не был однородным, так как у некоторых меток времени были миллисекунды, а у других нет, поэтому я отформатировал все как 2018-01-01 00:00:00, установив микросекунды = 0, где это необходимо.
Iвыполнил ту же процедуру повторной выборки для других наборов данных, но в этом случае после интерполяции я получаю NaT для всех данных, следующих за последней отметкой времени, которая первоначально не имела миллисекунд. Кроме того, это отражается и на данных, поскольку для набора данных назначено фиксированное значение, а именно то, которое соответствует последней метке времени без мс в исходном наборе данных.
Я приложил рисунок оригиналаи передискретизированный + интерполированный набор данных, где эта проблема хорошо видна, а также мой фрагмент кода.
исходный набор данных после повторной выборки и интерполяции
Буду очень рад вашим предложениям! Спасибо!
import pandas as pd
df=pd.read_excel('FILE PATH AND FILE NAME.xlsx')
df=df.rename(columns={'DateTime':'Date_time'})
df=df.drop(swim_data.iloc[:,2:5],axis=1)
i=df.index
for i in range(0,len(df.index)):
date=df.iat[i,0]
df.iloc[i,0] = date.replace(microsecond=0)
df=df.set_index(df['Date_time'])
df.index=pd.to_datetime(df['Date_time'])
df=df.drop(df.columns[0],axis=1)
df_resampled=df.resample('15min')
df_resampled=(df_resampled.interpolate(method='linear'))