如何将自定义函数应用到Pandas中带有滚动窗口的文本列?

0pizxfdo  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(322)

我有以下函数,它向数组的最后一项添加一些字符串并返回一个数字:

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

滚动窗口传递文本列而不是数字列,如何调用函数?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题