У меня есть фрейм данных pandas со столбцом временных меток и столбцом значений, и я хочу выполнить линейную интерполяцию и получить значения для разных временных меток.Фрейм данных выглядит следующим образом:
timestamp c0
0 2014-01-01T00:00:03.500Z 38605.324219
2 2014-01-01T00:00:21.500Z 37872.890625
4 2014-01-01T00:00:39.600Z 38124.664062
6 2014-01-01T00:00:57.600Z 38185.699219
8 2014-01-01T00:01:15.700Z 38460.367188
Я написал такую функцию, чтобы дать исходный фрейм данных и получить его интерполяцию:
def interp18to9(df):
dates = pd.date_range(pd.to_datetime(df.iloc[0]['timestamp']),
pd.to_datetime(df.iloc[-1]['timestamp']), freq='9S')
new_df = pd.DataFrame()
new_df['timestamp'] = pd.to_datetime(dates)
new_df['c0'] = np.interp(x=dates,
xp=pd.to_datetime(df.iloc[:]['timestamp']),
fp=df.iloc[:]['c0'])
return new_df
Я получаю сообщение об ошибке:
TypeError: Cannot cast array data from dtype('<M8[ns]') to dtype('float64') according to the rule 'safe'
Я не смог найти решение этой проблемы, выполнив поиск предыдущих случаев, заранее спасибо.