Данные NaT после повторной выборки и интерполяции - PullRequest
0 голосов
/ 03 октября 2019

Я выполняю некоторый анализ данных временных рядов. Исходный набор данных не был однородным, так как у некоторых меток времени были миллисекунды, а у других нет, поэтому я отформатировал все как 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'))

...