rapidsai/cudf

[FEA] Series and DataFrame mean absolute deviation

开放

#3,676 创建于 2019年12月30日

 (1 条评论) (0 个反应) (0 位负责人)C++ (735 个派生)batch import
Pythonfeature requestgood first issue

仓库指标

星标
 (6,000 个星标)
PR 合并指标
 (平均合并 17天 21小时) (30 天内合并 230 个 PR)

描述

For API compatibility and supporting exploratory analysis, we should support Series and DataFrame mean absolute deviation. See the pandas mean absolute deviation for more information.

This can be implemented for Python Series and DataFrame as a stopgap as Series.mad and then leverage _apply_support_method for DataFrame.mad. It's not 10x faster, but it gets the job done well.

import cudf
import numpy as np
​
def mad(self):
    # mad formula
    n = len(self)
    m = self.mean()
    mad = ((self - m).abs() / n).sum()
    return mad
​
​# 1 million rows
s = cudf.Series(np.random.normal(10,5,1_000_000))
ps = s.to_pandas()
​
%time mp = ps.mad()
%time mg = mad(s)
print(mp)
print(mg)
CPU times: user 31.9 ms, sys: 0 ns, total: 31.9 ms
Wall time: 32 ms
CPU times: user 0 ns, sys: 7.24 ms, total: 7.24 ms
Wall time: 23.2 ms
3.990811998439671
3.990811998439673

贡献者指南