我有以下函数,它向数组的最后一项添加一些字符串并返回一个数字:
def mycoolfunct(v):
last_bin = v[-1]
sval2 = last_bin[-1] + 'xx'
sval1 = last_bin[-2] + last_bin[-1] + 'n'
v += [sval1, sval2]
return mycoolcalc(v) # returns a number like 0.2
我用这种方式手动调用它,它按预期工作:
print(mycoolfunct(['axx', 'are']))
0.35
但是,如果我尝试使用pandas中的滚动窗口执行此函数:
df = pd.DataFrame(['are', 'axe', 'are', 'fer'])
print(df[0].rolling(2).apply(mycoolfunct))
我得到以下错误:
DataError: No numeric types to aggregate
滚动窗口传递文本列而不是数字列,如何调用函数?
暂无答案!
目前还没有任何答案,快来回答吧!