Я пытаюсь уменьшить выборку, используя функции pandas resample / agg.
Мне нужно применить разные функции к каждому из нескольких столбцов информационного кадра.
Я обнаружил, что процесс agg жалуется на сообщение об ошибке, когда "native"ohlc 'function поставляется с' list of function 'для других столбцов в словаре функций
Ниже приведен упрощенный код для тестирования.
date = pd.date_range('2019-10-01', periods=9, freq='D')
tick = {'price':[1000, 1050, 1050, 1100, 1150, 1100, 1000, 950, 950],
'buy':[20, 50, 1000, 2000, -500, -10, -3500, -5000, 5]}
df = pd.DataFrame(tick, index=date)
functions = {'price':'ohlc', 'buy':['mean', 'sum']}
ds = df.resample('3D').agg(functions)
Мой реальный код имеет 5 столбцов, каждый из которых имеетбыть применены некоторые функции во время повторной выборки. и не было ошибки с ОДНОЙ функцией для каждого столбца.
Я нашел другое решение использования списка функций, например
functions = {'price':[("open", "first"), ("high", "max"), ("low", "min"), ("close", "last")], 'buy':['mean', 'sum']
Но я хотел бы знать, что не так с моим кодом,
И сообщение об ошибке содержит
TypeError: cannot concatenate object of type "<class 'dict'>"; only
pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid