我正在尝试将聚合函数用于某些预定义的函数,聚合函数仅接受其中之一,但是当我执行所有函数时,它会显示“ ValueError:无结果”
我有一个时间序列数据帧,其中有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