我需要做集团的平滑销售百分比值,这可能是不稳定的情况下,缺货的情况。我的数据在熊猫数据框中。下面是我正在尝试的代码:
from scipy.interpolate import UnivariateSpline
s = base_data1.groupby(['MDSE_ITEM_I','CO_LOC_I'])\
.transform(lambda x: UnivariateSpline(np.arange(x.count()), x['PCT_TILL_DATE'].value, s=x.count()))
这里我将np.arange(x.count())
作为x
单调递增数组传递,并将Pandas系列x['PCT_TILL_DATE'].value
的值作为y
传递,平滑因子足够好s
作为x.count()
。但是我得到了错误:
KeyError: ('PCT_TILL_DATE', u'occurred at index GREG_D')
我错过了什么?在
您不需要选择所需的列,因为
transform()
已经将其转换为一个序列,您不能这样索引它。在另外,
UnitvariateSpline
返回一个“fitted”对象,您需要使用所需的x-output再次调用该对象以获得一些实际值。在相关问题 更多 >
编程相关推荐