当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cudf.core.groupby.groupby.GroupBy.apply用法及代码示例


用法:

GroupBy.apply(function)

在分组的块上应用 python 转换函数。

参数

func函数

将应用于分组块的 python 转换函数。

例子

from cudf import DataFrame
df = DataFrame()
df['key'] = [0, 0, 1, 1, 2, 2, 2]
df['val'] = [0, 1, 2, 3, 4, 5, 6]
groups = df.groupby(['key'])

# Define a function to apply to each row in a group
def mult(df):
  df['out'] = df['key'] * df['val']
  return df

result = groups.apply(mult)
print(result)

输出:

key  val  out
0    0    0    0
1    0    1    0
2    1    2    2
3    1    3    3
4    2    4    8
5    2    5   10
6    2    6   12

Pandas 兼容性说明

groupby.apply

与 pandas 相比,cuDF 的 groupby.apply 是有限的。在某些情况下,Pandas 将分组键作为索引的一部分返回,而 cudf 由于冗余而不返回。例如:

>>> df = pd.DataFrame({
    'a': [1, 1, 2, 2],
    'b': [1, 2, 1, 2],
    'c': [1, 2, 3, 4]})
>>> gdf = cudf.from_pandas(df)
>>> df.groupby('a').apply(lambda x: x.iloc[[0]])
        a  b  c
    a
    1 0  1  1  1
    2 2  2  1  3
>>> gdf.groupby('a').apply(lambda x: x.iloc[[0]])
        a  b  c
    0  1  1  1
    2  2  1  3

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cudf.core.groupby.groupby.GroupBy.apply。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。