У меня есть набор данных:
data = {'host': ['A','A','A','A','A','A','B','B','B','B','B','B'],
'TS': ['1','2', '3', '7', '9','11','7','8','9','14','16', '18'],
'Predict' : ['None','None', '134','None','None', '127','None','None', '121','None','None', '124']}
Я хочу разделить набор данных на ряд значений None и получить разницу во времени этого ряда.
У меня есть функция для разницы во времени. И попробуйте извлечь индекс для ряда, но не знаете, как он использует
def timediffs(series):
series['tdiff'] = series['ts'].diff().fillna(0.0)
return series
predict_index = df.index.where(df['Predict'].notna()).to_series().bfill()
Наконец, я хочу получить набор данных следующим образом:
new_data = {'host': ['A','A','A','A','A','A','B','B','B','B','B','B'],
'TS': ['1','2', '3', '7', '9','11','7','8','9','14','16', '19'],
'Predict' : ['None','None', '134','None','None', '127','None','None', '121','None','None', '124'],
'Time_diff' : ['0','1','1','0','2','2', '0','1','1','0','2','3',],
'New_predict' : ['134','134','134','127','127','127','121','121','121','124','124','124',]
}
new_df = pd.DataFrame(new_data)