Повторная выборка агрегата 'ohlc' завершается неудачно, если в словаре есть список функций для нескольких столбцов - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь уменьшить выборку, используя функции 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
...