将自定义numba njit函数应用于熊猫滚动对象

RK1

随着pandas1.0.0版本中,.apply现在有能力使用numba jit功能。

使用时是否有办法利用此.apply功能.rolling

例如,我有一个pandas.DataFrame和,numba_mean我想应用函数以获得3个周期的滚动平均值。

import pandas as pd
import numpy as np
import numba as nb

df = pd.DataFrame({"A" : np.random.rand(10)})
@nb.jit 
def numba_mean(x): 
    return np.sum(x) / len(x) 

df.A.rolling(3).apply(numba_mean)

但是我收到以下错误,这意味着它不适用于nopython模式。

由于功能“ numba_mean”由于以下原因而导致类型推断失败,因此编译返回到启用了循环提升的对象模式:

numba_mean使用njit而不是时的错误回溯jit

此错误可能是由以下参数引起的:-参数0:无法确定Numba的类型 <class 'pandas.core.series.Series'>

我想知道是否有一种方法可以对对象使用数字函数pandas rolling

罗格·卡西斯

您需要指定engine关键字,以使熊猫知道您要使用Numba:

df.A.rolling(3).apply(numba_mean, engine='numba', raw=True)

熊猫可以jit为您提供功能,但是我自己做时可以更快地得到结果。也许Numba正在为每个调用重新编译,.apply()并且以下时间包括编译时间。

有了这样一个简单的功能,并且每次调用的数据量很少(窗口= 3),不太可能通过内置函数获得任何加速。

import pandas as pd
import numpy as np
import numba as nb

@nb.njit(nogil=True)
def numba_mean(x):
    return np.sum(x) / x.size

def numpy_mean(x): 
    return np.sum(x) / x.size

df = pd.DataFrame({"A" : np.random.rand(10000)})

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将自定义功能应用于熊猫df

来自分类Dev

将自定义累积功能应用于熊猫

来自分类Dev

将自定义累积功能应用于熊猫

来自分类Dev

将自定义函数应用于数据框

来自分类Dev

将自定义累积函数应用于熊猫数据框

来自分类Dev

如何将自定义函数应用于熊猫数据框的2列?

来自分类Dev

熊猫滚动应用于自定义功能

来自分类Dev

将自定义主题应用于Odoo应用

来自分类Dev

将自定义样式应用于微调器

来自分类Dev

无法将自定义listSelector应用于ListView

来自分类Dev

如何将自定义滚动功能应用于pandas groupby?

来自分类Dev

如何将自定义滚动功能应用于pandas groupby?

来自分类Dev

熊猫groupby将自定义功能应用于每个组

来自分类Dev

如何将自定义主题应用于Google自定义搜索?

来自分类Dev

将自定义属性应用于“代码优先实体”框架对象

来自分类Dev

将自定义排序应用于打字稿中的对象数组

来自分类Dev

将自定义属性应用于“代码优先实体”框架对象

来自分类Dev

如何将自定义排序应用于此对象数组?

来自分类Dev

将自定义函数应用于具有通用名称的任何数据集

来自分类Dev

如何在PyMC中将自定义函数应用于变量?

来自分类Dev

将自定义函数应用于pandas Series会产生AttributeError

来自分类Dev

将自定义函数应用于r中的每一行

来自分类Dev

将自定义聚合函数应用于pandas DataFrame

来自分类Dev

将自定义函数一次应用于分组的数据帧n行

来自分类Dev

如何在PyMC中将自定义函数应用于变量?

来自分类Dev

在模式中使用'current()'函数将自定义模板应用于节点

来自分类Dev

如何将自定义函数应用于 quanteda 语料库

来自分类Dev

如何将自定义重试策略应用于 Azure 函数中的 Eventhub 绑定

来自分类Dev

将自定义函数应用于多个 data.table 列

Related 相关文章

  1. 1

    将自定义功能应用于熊猫df

  2. 2

    将自定义累积功能应用于熊猫

  3. 3

    将自定义累积功能应用于熊猫

  4. 4

    将自定义函数应用于数据框

  5. 5

    将自定义累积函数应用于熊猫数据框

  6. 6

    如何将自定义函数应用于熊猫数据框的2列?

  7. 7

    熊猫滚动应用于自定义功能

  8. 8

    将自定义主题应用于Odoo应用

  9. 9

    将自定义样式应用于微调器

  10. 10

    无法将自定义listSelector应用于ListView

  11. 11

    如何将自定义滚动功能应用于pandas groupby?

  12. 12

    如何将自定义滚动功能应用于pandas groupby?

  13. 13

    熊猫groupby将自定义功能应用于每个组

  14. 14

    如何将自定义主题应用于Google自定义搜索?

  15. 15

    将自定义属性应用于“代码优先实体”框架对象

  16. 16

    将自定义排序应用于打字稿中的对象数组

  17. 17

    将自定义属性应用于“代码优先实体”框架对象

  18. 18

    如何将自定义排序应用于此对象数组?

  19. 19

    将自定义函数应用于具有通用名称的任何数据集

  20. 20

    如何在PyMC中将自定义函数应用于变量?

  21. 21

    将自定义函数应用于pandas Series会产生AttributeError

  22. 22

    将自定义函数应用于r中的每一行

  23. 23

    将自定义聚合函数应用于pandas DataFrame

  24. 24

    将自定义函数一次应用于分组的数据帧n行

  25. 25

    如何在PyMC中将自定义函数应用于变量?

  26. 26

    在模式中使用'current()'函数将自定义模板应用于节点

  27. 27

    如何将自定义函数应用于 quanteda 语料库

  28. 28

    如何将自定义重试策略应用于 Azure 函数中的 Eventhub 绑定

  29. 29

    将自定义函数应用于多个 data.table 列

热门标签

归档