rapidsai/cudf
Ver no GitHub[FEA] Series and DataFrame mean absolute deviation
Open
#3.676 aberto em 30 de dez. de 2019
Pythonfeature requestgood first issue
Métricas do repositório
- Stars
- (6.000 stars)
- Métricas de merge de PR
- (Mesclagem média 17d 21h) (230 fundiu PRs em 30d)
Description
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