Whats New¶
14.7 (Released August 1, 2014)¶
Highlights¶
Wider support for wrapping all of SciDB’s built-in datatypes, including strings, datetimes, and nullable values:
>>> x SciDBArray('py1101328071989_00045<f0:string> [i0=0:2,1000,0]') >>> x.toarray() array([u'abc', u'def', u'ghi'], dtype=object)A groupby() method for performing aggregation over groups:
x.groupby('gender').aggregate('mean(age)')Boolean comparison and filtering of arrays:
>>> x = sdb.random((5,5)) >>> (x > 0.7).toarray() array([[ True, True, False, False, False], [ True, True, True, False, False], [False, False, False, True, True], [False, False, True, False, False], [False, True, True, False, False]], dtype=bool) >>> x[x>0.7].toarray() array([ 0.83500619, 0.95791602, 0.94745933, 0.89868099, 0.97664716, 0.7045693 , 0.88949448, 0.88112397, 0.73766701, 0.94612052])Pandas-like syntax for accessing and defining new array attributes:
array['b'] = 'sin(f0+3)' array['b'].toarray()Lazy evaluation of arrays. Computation for most array operations are deferred until needed.
AFL queries now return lazy SciDBArrays instead of special class instances, which makes it easy to mix SciDBArray methods with raw AFL calls:
>>> sdb.afl.build('<x:float>[i=0:5,10,0]', 'i').max()[0]A cleaner syntax for chaining several AFL calls at once. The following two lines are equivalent:
f = sdb.afl f.subarray(f.project(f.apply(x, 'f2', 'f*2'), 'f2'), 0, 5) x.apply('f2', 'f*2').project('f2').subarray(0, 5)New element-wise operators: sqrt, floor, ceil, isnan
A cumulate() method for performing cumulative aggregation over arrays
Numerous bugfixes.