Я пытаюсь использовать агрегатную функцию для некоторых предопределенных функций, агрегатная функция принимает только одну из них, но когда я выполняю все функции, появляется сообщение «ValueError: no results»
У меня есть фрейм данных временных рядов, в котором есть 5 столбцов (Дата, компания, доход, налог, экстрата), я на самом деле пытаюсь использовать агрегирование и группирование, чтобы получить в одной строке среднюю, стандартную, энтропийную и наклонную статистику каждой переменной компанией.
Я создаю функции энтропии и наклона. Но агрегат проблемы не принимает функцию наклона, я попытался запустить ее самостоятельно с агрегатом, и она работает правильно.
import pandas as pd
import numpy as np
from scipy.stats import entropy
case = {'Date' : ['12/12/2019','13/12/2019','14/12/2019','12/12/2019','13/12/2019','14/12/2019'],
'company':['xxx','xxx','xxx','yyy','yyy','yyy'],
'income': [1245, 1548,1547,2548,2658,2365],
'Tax': [124, 154,154,254,265,236],
'extrat' : [454, 544,454,874,455,543] }
df = pd.DataFrame(case, columns=['Date','company','income','Tax','extrat'])
def entropy(labels, base=None):
value,counts = np.unique(labels, return_counts=True)
return entropy(counts, base=base)
def slope (df):
return df.apply(lambda x: np.polyfit(df.index, x, 1)[0])
df = df.groupby("company").agg(['mean','std',entropy,slope])
Ожидаемый результат будет
Company | income_mean | income_std | income_entropy | income_slope |... |extrat_slope
xxx
yyy