熊猫重新采样在整个行上应用功能?

时间:2019-06-26 09:39:58

标签: python-3.x pandas time

是否可以通过某种方式获取重采样操作的行以应用自定义函数:

假设我们有一个数据框df,其中包含例如孩子的生日,他们的名字和他们拥有的朋友数量:

birthday    name   friends
datetime_1  Alice  10
datetime_2  Bob    5
   ...      ...    ...
datetime_n  Tom    12

如果我们现在按某个时间频率重新采样并尝试应用自定义函数:

df.resample("w").apply(my_func)

它将仅将输入作为单独的序列而不是作为行传递。对于axis,没有Resampler.apply参数。所以有什么办法可以实现我想要的东西。还是有另一种内置方法可用于将自定义行为构建到简化部分中?例如,如果我想返回最频繁使用的名称,该名称由给定时间间隔内与该名称关联的朋友的数量加权。

1 个答案:

答案 0 :(得分:0)

啊,好的。您需要的是grouper才能使用groupby。

df.groupby(pd.Grouper(freq='W')).apply(my_func)

希望如此。