Skip to content

(issue 744): use pythonic notation in doc of aggregation functions #771

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 0 additions & 140 deletions larray/core/array.py
Original file line number Diff line number Diff line change
@@ -2916,8 +2916,6 @@ def with_total(self, *args, **kwargs):
gender\time 2013 2014 2015 2016 before_2015 after_2015
M 0 1 2 3 1 5
F 4 5 6 7 9 13
>>> # or equivalently
>>> # arr.with_total('time[:2014] >> before_2015; time[2015:] >> after_2015')
"""
# TODO: default to op.__name__
label = kwargs.pop('label', 'total')
@@ -3864,26 +3862,20 @@ def all(self, *args, **kwargs):
>>> barr.all(['a0', 'a1'])
b b0 b1 b2 b3
True True False False
>>> # or equivalently
>>> # barr.all('a0,a1')
Split an axis in several parts
>>> barr.all((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 True True False False
a2,a3 False False False False
>>> # or equivalently
>>> # barr.all('a0,a1;a2,a3')
Same with renaming
>>> barr.all((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 True True False False
a23 False False False False
>>> # or equivalently
>>> # barr.all('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -3934,24 +3926,18 @@ def all_by(self, *args, **kwargs):
>>> barr.all_by(['a0', 'a1'])
False
>>> # or equivalently
>>> # barr.all_by('a0,a1')
Split an axis in several parts
>>> barr.all_by((['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
False False
>>> # or equivalently
>>> # barr.all_by('a0,a1;a2,a3')
Same with renaming
>>> barr.all_by((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
False False
>>> # or equivalently
>>> # barr.all_by('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4003,26 +3989,20 @@ def any(self, *args, **kwargs):
>>> barr.any(['a0', 'a1'])
b b0 b1 b2 b3
True True True True
>>> # or equivalently
>>> # barr.any('a0,a1')
Split an axis in several parts
>>> barr.any((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 True True True True
a2,a3 False False False False
>>> # or equivalently
>>> # barr.any('a0,a1;a2,a3')
Same with renaming
>>> barr.any((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 True True True True
a23 False False False False
>>> # or equivalently
>>> # barr.any('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4073,24 +4053,18 @@ def any_by(self, *args, **kwargs):
>>> barr.any_by(['a0', 'a1'])
True
>>> # or equivalently
>>> # barr.any_by('a0,a1')
Split an axis in several parts
>>> barr.any_by((['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
True False
>>> # or equivalently
>>> # barr.any_by('a0,a1;a2,a3')
Same with renaming
>>> barr.any_by((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
True False
>>> # or equivalently
>>> # barr.any_by('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4138,26 +4112,20 @@ def sum(self, *args, **kwargs):
>>> arr.sum(['a0', 'a1'])
b b0 b1 b2 b3
4 6 8 10
>>> # or equivalently
>>> # arr.sum('a0,a1')
Split an axis in several parts
>>> arr.sum((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 4 6 8 10
a2,a3 20 22 24 26
>>> # or equivalently
>>> # arr.sum('a0,a1;a2,a3')
Same with renaming
>>> arr.sum((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 4 6 8 10
a23 20 22 24 26
>>> # or equivalently
>>> # arr.sum('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4202,24 +4170,18 @@ def sum_by(self, *args, **kwargs):
>>> arr.sum_by(['a0', 'a1'])
28
>>> # or equivalently
>>> # arr.sum_by('a0,a1')
Split an axis in several parts
>>> arr.sum_by((['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
28 92
>>> # or equivalently
>>> # arr.sum_by('a0,a1;a2,a3')
Same with renaming
>>> arr.sum_by((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
28 92
>>> # or equivalently
>>> # arr.sum_by('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4266,26 +4228,20 @@ def prod(self, *args, **kwargs):
>>> arr.prod(['a0', 'a1'])
b b0 b1 b2 b3
0 5 12 21
>>> # or equivalently
>>> # arr.prod('a0,a1')
Split an axis in several parts
>>> arr.prod((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 0 5 12 21
a2,a3 96 117 140 165
>>> # or equivalently
>>> # arr.prod('a0,a1;a2,a3')
Same with renaming
>>> arr.prod((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 0 5 12 21
a23 96 117 140 165
>>> # or equivalently
>>> # arr.prod('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4331,24 +4287,18 @@ def prod_by(self, *args, **kwargs):
>>> arr.prod_by(['a0', 'a1'])
0
>>> # or equivalently
>>> # arr.prod_by('a0,a1')
Split an axis in several parts
>>> arr.prod_by((['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
0 259459200
>>> # or equivalently
>>> # arr.prod_by('a0,a1;a2,a3')
Same with renaming
>>> arr.prod_by((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
0 259459200
>>> # or equivalently
>>> # arr.prod_by('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4393,26 +4343,20 @@ def min(self, *args, **kwargs):
>>> arr.min(['a0', 'a1'])
b b0 b1 b2 b3
0 1 2 3
>>> # or equivalently
>>> # arr.min('a0,a1')
Split an axis in several parts
>>> arr.min((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 0 1 2 3
a2,a3 8 9 10 11
>>> # or equivalently
>>> # arr.min('a0,a1;a2,a3')
Same with renaming
>>> arr.min((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 0 1 2 3
a23 8 9 10 11
>>> # or equivalently
>>> # arr.min('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4456,24 +4400,18 @@ def min_by(self, *args, **kwargs):
>>> arr.min_by(['a0', 'a1'])
0
>>> # or equivalently
>>> # arr.min_by('a0,a1')
Split an axis in several parts
>>> arr.min_by((['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
0 8
>>> # or equivalently
>>> # arr.min_by('a0,a1;a2,a3')
Same with renaming
>>> arr.min_by((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
0 8
>>> # or equivalently
>>> # arr.min_by('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4518,26 +4456,20 @@ def max(self, *args, **kwargs):
>>> arr.max(['a0', 'a1'])
b b0 b1 b2 b3
4 5 6 7
>>> # or equivalently
>>> # arr.max('a0,a1')
Split an axis in several parts
>>> arr.max((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 4 5 6 7
a2,a3 12 13 14 15
>>> # or equivalently
>>> # arr.max('a0,a1;a2,a3')
Same with renaming
>>> arr.max((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 4 5 6 7
a23 12 13 14 15
>>> # or equivalently
>>> # arr.max('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4581,24 +4513,18 @@ def max_by(self, *args, **kwargs):
>>> arr.max_by(['a0', 'a1'])
7
>>> # or equivalently
>>> # arr.max_by('a0,a1')
Split an axis in several parts
>>> arr.max_by((['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
7 15
>>> # or equivalently
>>> # arr.max_by('a0,a1;a2,a3')
Same with renaming
>>> arr.max_by((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
7 15
>>> # or equivalently
>>> # arr.max_by('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4645,26 +4571,20 @@ def mean(self, *args, **kwargs):
>>> arr.mean(['a0', 'a1'])
b b0 b1 b2 b3
2.0 3.0 4.0 5.0
>>> # or equivalently
>>> # arr.mean('a0,a1')
Split an axis in several parts
>>> arr.mean((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 2.0 3.0 4.0 5.0
a2,a3 10.0 11.0 12.0 13.0
>>> # or equivalently
>>> # arr.mean('a0,a1;a2,a3')
Same with renaming
>>> arr.mean((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 2.0 3.0 4.0 5.0
a23 10.0 11.0 12.0 13.0
>>> # or equivalently
>>> # arr.mean('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4710,24 +4630,18 @@ def mean_by(self, *args, **kwargs):
>>> arr.mean_by(['a0', 'a1'])
3.5
>>> # or equivalently
>>> # arr.mean_by('a0,a1')
Split an axis in several parts
>>> arr.mean_by((['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
3.5 11.5
>>> # or equivalently
>>> # arr.mean_by('a0,a1;a2,a3')
Same with renaming
>>> arr.mean_by((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
3.5 11.5
>>> # or equivalently
>>> # arr.mean_by('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4778,26 +4692,20 @@ def median(self, *args, **kwargs):
>>> arr.median(['a0', 'a1'])
b b0 b1 b2 b3
7.5 7.5 4.0 8.0
>>> # or equivalently
>>> # arr.median('a0,a1')
Split an axis in several parts
>>> arr.median((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 7.5 7.5 4.0 8.0
a2,a3 7.5 6.0 2.5 7.5
>>> # or equivalently
>>> # arr.median('a0,a1;a2,a3')
Same with renaming
>>> arr.median((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 7.5 7.5 4.0 8.0
a23 7.5 6.0 2.5 7.5
>>> # or equivalently
>>> # arr.median('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4847,24 +4755,18 @@ def median_by(self, *args, **kwargs):
>>> arr.median_by(['a0', 'a1'])
7.0
>>> # or equivalently
>>> # arr.median_by('a0,a1')
Split an axis in several parts
>>> arr.median_by((['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
7.0 5.75
>>> # or equivalently
>>> # arr.median_by('a0,a1;a2,a3')
Same with renaming
>>> arr.median_by((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
7.0 5.75
>>> # or equivalently
>>> # arr.median_by('a0,a1>>a01;a2,a3>>a23')
"""
pass

@@ -4921,26 +4823,20 @@ def percentile(self, q, *args, **kwargs):
>>> arr.percentile(25, ['a0', 'a1'])
b b0 b1 b2 b3
1.0 2.0 3.0 4.0
>>> # or equivalently
>>> # arr.percentile(25, 'a0,a1')
Split an axis in several parts
>>> arr.percentile(25, (['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 1.0 2.0 3.0 4.0
a2,a3 9.0 10.0 11.0 12.0
>>> # or equivalently
>>> # arr.percentile(25, 'a0,a1;a2,a3')
Same with renaming
>>> arr.percentile(25, (X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 1.0 2.0 3.0 4.0
a23 9.0 10.0 11.0 12.0
>>> # or equivalently
>>> # arr.percentile(25, 'a0,a1>>a01;a2,a3>>a23')
"""
keepaxes = kwargs.pop('keepaxes', _kwarg_agg['keepaxes']['value'])
skipna = kwargs.pop('skipna', _kwarg_agg['skipna']['value'])
@@ -5008,24 +4904,18 @@ def percentile_by(self, q, *args, **kwargs):
>>> arr.percentile_by(25, ['a0', 'a1'])
1.75
>>> # or equivalently
>>> # arr.percentile_by('a0,a1')
Split an axis in several parts
>>> arr.percentile_by(25, (['a0', 'a1'], ['a2', 'a3']))
a a0,a1 a2,a3
1.75 9.75
>>> # or equivalently
>>> # arr.percentile_by('a0,a1;a2,a3')
Same with renaming
>>> arr.percentile_by(25, (X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a a01 a23
1.75 9.75
>>> # or equivalently
>>> # arr.percentile_by('a0,a1>>a01;a2,a3>>a23')
"""
keepaxes = kwargs.pop('keepaxes', _kwarg_agg['keepaxes']['value'])
skipna = kwargs.pop('skipna', _kwarg_agg['skipna']['value'])
@@ -5085,26 +4975,20 @@ def ptp(self, *args, **kwargs):
>>> arr.ptp(['a0', 'a1'])
b b0 b1 b2 b3
4 4 4 4
>>> # or equivalently
>>> # arr.ptp('a0,a1')
Split an axis in several parts
>>> arr.ptp((['a0', 'a1'], ['a2', 'a3']))
a\b b0 b1 b2 b3
a0,a1 4 4 4 4
a2,a3 4 4 4 4
>>> # or equivalently
>>> # arr.ptp('a0,a1;a2,a3')
Same with renaming
>>> arr.ptp((X.a['a0', 'a1'] >> 'a01', X.a['a2', 'a3'] >> 'a23'))
a\b b0 b1 b2 b3
a01 4 4 4 4
a23 4 4 4 4
>>> # or equivalently
>>> # arr.ptp('a0,a1>>a01;a2,a3>>a23')
"""
out = kwargs.pop('out', _kwarg_agg['out']['value'])
return self._aggregate(np.ptp, args, kwargs, out=out)
@@ -5152,26 +5036,20 @@ def var(self, *args, **kwargs):
>>> arr.var(['b0', 'b1', 'b3'])
a a0 a1
9.0 4.0
>>> # or equivalently
>>> # arr.var('b0,b1,b3')
Split an axis in several parts
>>> arr.var((['b0', 'b1', 'b3'], 'b5:'))
a\b b0,b1,b3 b5:
a0 9.0 1.0
a1 4.0 1.0
>>> # or equivalently
>>> # arr.var('b0,b1,b3;b5:')
Same with renaming
>>> arr.var((X.b['b0', 'b1', 'b3'] >> 'b013', X.b['b5:'] >> 'b567'))
a\b b013 b567
a0 9.0 1.0
a1 4.0 1.0
>>> # or equivalently
>>> # arr.var('b0,b1,b3>>b013;b5:>>b567')
"""
pass

@@ -5216,26 +5094,20 @@ def var_by(self, *args, **kwargs):
>>> arr.var_by('a', ['b0','b1','b3'])
a a0 a1
9.0 4.0
>>> # or equivalently
>>> # arr.var_by('a','b0,b1,b3')
Split an axis in several parts
>>> arr.var_by('a', (['b0', 'b1', 'b3'], 'b5:'))
a\b b0,b1,b3 b5:
a0 9.0 1.0
a1 4.0 1.0
>>> # or equivalently
>>> # arr.var_by('a','b0,b1,b3;b5:')
Same with renaming
>>> arr.var_by('a', (X.b['b0', 'b1', 'b3'] >> 'b013', X.b['b5:'] >> 'b567'))
a\b b013 b567
a0 9.0 1.0
a1 4.0 1.0
>>> # or equivalently
>>> # arr.var_by('a','b0,b1,b3>>b013;b5:>>b567')
"""
pass

@@ -5280,26 +5152,20 @@ def std(self, *args, **kwargs):
>>> arr.std(['b0', 'b1', 'b3'])
a a0 a1
3.0 2.0
>>> # or equivalently
>>> # arr.std('b0,b1,b3')
Split an axis in several parts
>>> arr.std((['b0', 'b1', 'b3'], 'b5:'))
a\b b0,b1,b3 b5:
a0 3.0 1.0
a1 2.0 1.0
>>> # or equivalently
>>> # arr.std('b0,b1,b3;b5:')
Same with renaming
>>> arr.std((X.b['b0', 'b1', 'b3'] >> 'b013', X.b['b5:'] >> 'b567'))
a\b b013 b567
a0 3.0 1.0
a1 2.0 1.0
>>> # or equivalently
>>> # arr.std('b0,b1,b3>>b013;b5:>>b567')
"""
pass

@@ -5345,26 +5211,20 @@ def std_by(self, *args, **kwargs):
>>> arr.std_by('a', ['b0','b1','b3'])
a a0 a1
3.0 2.0
>>> # or equivalently
>>> # arr.std_by('a','b0,b1,b3')
Split an axis in several parts
>>> arr.std_by('a', (['b0', 'b1', 'b3'], 'b5:'))
a\b b0,b1,b3 b5:
a0 3.0 1.0
a1 2.0 1.0
>>> # or equivalently
>>> # arr.std_by('a','b0,b1,b3;b5:')
Same with renaming
>>> arr.std_by('a', (X.b['b0', 'b1', 'b3'] >> 'b013', X.b['b5:'] >> 'b567'))
a\b b013 b567
a0 3.0 1.0
a1 2.0 1.0
>>> # or equivalently
>>> # arr.std_by('a','b0,b1,b3>>b013;b5:>>b567')
"""
pass