Files
df-research/tech.ml.dataset/docs/javadoc/tech/v3/dataset/Rolling.html
2026-02-08 11:20:43 -10:00

597 lines
26 KiB
HTML
Vendored

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_312) on Sun Dec 11 09:30:03 MST 2022 -->
<title>Rolling (tech.ml.dataset Documentation)</title>
<meta name="date" content="2022-12-11">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Rolling (tech.ml.dataset Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><script async src="https://www.googletagmanager.com/gtag/js?id=G-RGTB4J7LGP"</script><script>window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-RGTB4J7LGP');</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/dataset/Reductions.html" title="class in tech.v3.dataset"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Rolling.html" target="_top">Frames</a></li>
<li><a href="Rolling.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">tech.v3.dataset</div>
<h2 title="Class Rolling" class="title">Class Rolling</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>tech.v3.dataset.Rolling</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Rolling</span>
extends java.lang.Object</pre>
<div class="block"><p>Fixed and variable length rolling windows. For variable rolling windows the dataset must already be sorted by the target column. Datetime support is provided in terms of provide specific units in which to perform the rolling operation such as the keyword <code>:days</code>.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#first-java.lang.Object-">first</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">reducer that keeps the first value</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#fixedWindow-long-">fixedWindow</a></span>(long&nbsp;windowSize)</code>
<div class="block">Return fixed size rolling window.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#fixedWindow-long-clojure.lang.Keyword-">fixedWindow</a></span>(long&nbsp;windowSize,
clojure.lang.Keyword&nbsp;winPos)</code>
<div class="block">Return fixed size rolling window.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#fixedWindow-long-clojure.lang.Keyword-clojure.lang.Keyword-">fixedWindow</a></span>(long&nbsp;windowSize,
clojure.lang.Keyword&nbsp;winPos,
clojure.lang.Keyword&nbsp;edgeMode)</code>
<div class="block">Return fixed size rolling window.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#last-java.lang.Object-">last</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">reducer that keeps the last value</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#max-java.lang.Object-">max</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">max reducer</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#mean-java.lang.Object-">mean</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">mean reducer</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#min-java.lang.Object-">min</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">min reducer</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#reducer-java.lang.Object-clojure.lang.IFn-">reducer</a></span>(java.lang.Object&nbsp;srcColname,
clojure.lang.IFn&nbsp;reduceFn)</code>
<div class="block">Create a columnwise reducer eliding datatype parameter.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#reducer-java.lang.Object-clojure.lang.IFn-clojure.lang.Keyword-">reducer</a></span>(java.lang.Object&nbsp;srcColname,
clojure.lang.IFn&nbsp;reduceFn,
clojure.lang.Keyword&nbsp;datatype)</code>
<div class="block">Create a columnwise reducer.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#rolling-java.lang.Object-java.util.Map-java.util.Map-">rolling</a></span>(java.lang.Object&nbsp;ds,
java.util.Map&nbsp;windowSpec,
java.util.Map&nbsp;reducerMap)</code>
<div class="block">Fixed or variable rolling window reductions.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#stddev-java.lang.Object-">stddev</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">stddev reducer</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#sum-java.lang.Object-">sum</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">sum reducer</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#variableWindow-java.lang.Object-double-">variableWindow</a></span>(java.lang.Object&nbsp;colname,
double&nbsp;windowSize)</code>
<div class="block">Create a variable window specification with a double windowsize for a particular column.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#variableWindow-java.lang.Object-double-clojure.lang.Keyword-">variableWindow</a></span>(java.lang.Object&nbsp;colname,
double&nbsp;windowSize,
clojure.lang.Keyword&nbsp;datetimeUnit)</code>
<div class="block">Create a datetime-specific variable window specification with a double windowsize for a particular column.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#variableWindow-java.lang.Object-double-java.lang.Object-">variableWindow</a></span>(java.lang.Object&nbsp;colname,
double&nbsp;windowSize,
java.lang.Object&nbsp;compFn)</code>
<div class="block">Create a variable window specification with a double windowsize for a particular column and a compFn which must take two values and return a double.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#variance-java.lang.Object-">variance</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">variance reducer</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="rolling-java.lang.Object-java.util.Map-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rolling</h4>
<pre>public static&nbsp;java.util.Map&nbsp;rolling(java.lang.Object&nbsp;ds,
java.util.Map&nbsp;windowSpec,
java.util.Map&nbsp;reducerMap)</pre>
<div class="block"><p>Fixed or variable rolling window reductions.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>windowSpec</code> - Window specification specifying the type of window, either a window over a fixed number of rows or a window based on a fixed logical quantitative difference i.e. three months or 10 milliseconds.</dd>
<dd><code>reducerMap</code> - map of dest column name to reducer where reducer is a map with two keys, :column-name which is the input column to use and :reducer which is an IFn that receives each window of data as a buffer.</p>
<p>Example:</p>
<pre><code class="java">Map stocks = makeDataset(&quot;https://github.com/techascent/tech.ml.dataset/raw/master/test/data/stocks.csv&quot;);
//Variable-sized windows require the source column to be sorted.
stocks = sortByColumn(stocks, &quot;date&quot;);
Map variableWin = Rolling.rolling(stocks,
Rolling.variableWindow(&quot;date&quot;, 3, kw(&quot;months&quot;)),
hashmap(&quot;price-mean-3m&quot;, Rolling.mean(&quot;price&quot;),
&quot;price-max-3m&quot;, Rolling.max(&quot;price&quot;),
&quot;price-min-3m&quot;, Rolling.min(&quot;price&quot;)));
println(head(variableWin, 10));
https://github.com/techascent/tech.ml.dataset/raw/master/test/data/stocks.csv [10 6]:
//| symbol | date | price | price-max-3m | price-mean-3m | price-min-3m |
//|--------|------------|-------:|-------------:|--------------:|-------------:|
//| AAPL | 2000-01-01 | 25.94 | 106.11 | 58.92500000 | 25.94 |
//| IBM | 2000-01-01 | 100.52 | 106.11 | 61.92363636 | 28.66 |
//| MSFT | 2000-01-01 | 39.81 | 106.11 | 58.06400000 | 28.66 |
//| AMZN | 2000-01-01 | 64.56 | 106.11 | 60.09222222 | 28.66 |
//| AAPL | 2000-02-01 | 28.66 | 106.11 | 57.56583333 | 28.37 |
//| MSFT | 2000-02-01 | 36.35 | 106.11 | 60.19363636 | 28.37 |
//| IBM | 2000-02-01 | 92.11 | 106.11 | 62.57800000 | 28.37 |
//| AMZN | 2000-02-01 | 68.87 | 106.11 | 59.29666667 | 28.37 |
//| AMZN | 2000-03-01 | 67.00 | 106.11 | 54.65583333 | 21.00 |
//| MSFT | 2000-03-01 | 43.22 | 106.11 | 53.53363636 | 21.00 |
//Fixed window...
Object radians = VecMath.mul(2.0*Math.PI, VecMath.div(range(33), 32.0));
Map sinds = makeDataset(hashmap(&quot;radians&quot;, radians, &quot;sin&quot;, VecMath.sin(radians)));
Map fixedWin = Rolling.rolling(sinds,
Rolling.fixedWindow(4),
hashmap(&quot;sin-roll-mean&quot;, Rolling.mean(&quot;sin&quot;),
&quot;sin-roll-max&quot;, Rolling.max(&quot;sin&quot;),
&quot;sin-roll-min&quot;, Rolling.min(&quot;sin&quot;)));
println(head(fixedWin, 8));
//_unnamed [8 5]:
//| sin | radians | sin-roll-max | sin-roll-min | sin-roll-mean |
//|-----------:|-----------:|-------------:|-------------:|--------------:|
//| 0.00000000 | 0.00000000 | 0.19509032 | 0.00000000 | 0.04877258 |
//| 0.19509032 | 0.19634954 | 0.38268343 | 0.00000000 | 0.14444344 |
//| 0.38268343 | 0.39269908 | 0.55557023 | 0.00000000 | 0.28333600 |
//| 0.55557023 | 0.58904862 | 0.70710678 | 0.19509032 | 0.46011269 |
//| 0.70710678 | 0.78539816 | 0.83146961 | 0.38268343 | 0.61920751 |
//| 0.83146961 | 0.98174770 | 0.92387953 | 0.55557023 | 0.75450654 |
//| 0.92387953 | 1.17809725 | 0.98078528 | 0.70710678 | 0.86081030 |
//| 0.98078528 | 1.37444679 | 1.00000000 | 0.83146961 | 0.93403361 |
</code></pre></dd>
</dl>
</li>
</ul>
<a name="variableWindow-java.lang.Object-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>variableWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;variableWindow(java.lang.Object&nbsp;colname,
double&nbsp;windowSize)</pre>
<div class="block"><p>Create a variable window specification with a double windowsize for a particular column. This specification will not work on datetime columns.</p></div>
</li>
</ul>
<a name="variableWindow-java.lang.Object-double-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>variableWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;variableWindow(java.lang.Object&nbsp;colname,
double&nbsp;windowSize,
java.lang.Object&nbsp;compFn)</pre>
<div class="block"><p>Create a variable window specification with a double windowsize for a particular column and a compFn which must take two values and return a double. The function must take 2 arguments and the arguments are passed in as (later,earlier). This allows the basic clojure &lsquo;-&rsquo; operator to work fine in many cases.</p></div>
</li>
</ul>
<a name="variableWindow-java.lang.Object-double-clojure.lang.Keyword-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>variableWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;variableWindow(java.lang.Object&nbsp;colname,
double&nbsp;windowSize,
clojure.lang.Keyword&nbsp;datetimeUnit)</pre>
<div class="block"><p>Create a datetime-specific variable window specification with a double windowsize for a particular column.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datetimeUnit</code> - One of <code>[:milliseconds, :seconds, :hours, :days, :months]</code>.</dd>
</dl>
</li>
</ul>
<a name="fixedWindow-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixedWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fixedWindow(long&nbsp;windowSize)</pre>
<div class="block"><p>Return fixed size rolling window. Window will be fixed over <code>window-size</code> rows.</p></div>
</li>
</ul>
<a name="fixedWindow-long-clojure.lang.Keyword-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixedWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fixedWindow(long&nbsp;windowSize,
clojure.lang.Keyword&nbsp;winPos)</pre>
<div class="block"><p>Return fixed size rolling window. Window will be fixed over <code>window-size</code> rows.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>winPos</code> - One of <code>[:left :center :right]</code>. This combined with the default edge mode of <code>:clamp</code> dictates the windows of data the reducer sees.</dd>
</dl>
</li>
</ul>
<a name="fixedWindow-long-clojure.lang.Keyword-clojure.lang.Keyword-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixedWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fixedWindow(long&nbsp;windowSize,
clojure.lang.Keyword&nbsp;winPos,
clojure.lang.Keyword&nbsp;edgeMode)</pre>
<div class="block"><p>Return fixed size rolling window. Window will be fixed over <code>window-size</code> rows.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>winPos</code> - One of <code>[:left :center :right]</code>. This combined with the default edge mode dictates windows of data the reducer sees.</dd>
<dd><code>edgeMode</code> - One of <code>[:zero, null, :clamp]</code>. Clamp means repeat the end value.</dd>
</dl>
</li>
</ul>
<a name="reducer-java.lang.Object-clojure.lang.IFn-clojure.lang.Keyword-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reducer</h4>
<pre>public static&nbsp;java.util.Map&nbsp;reducer(java.lang.Object&nbsp;srcColname,
clojure.lang.IFn&nbsp;reduceFn,
clojure.lang.Keyword&nbsp;datatype)</pre>
<div class="block"><p>Create a columnwise reducer. This reducer gets sub-windows from the column and must return a scalar value. If srcColname is a vector of colnames then reduceFn will be passed each column window as a separate argument.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datatype</code> - Option datatype, may be nil in which case the dataset will scan the result to infer datatype. If provided this will enforce the result column datatype. Reductions to numeric types with fixed datatypes will be slightly faster than generic reductions which require inference to find the final datatype.</dd>
</dl>
</li>
</ul>
<a name="reducer-java.lang.Object-clojure.lang.IFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reducer</h4>
<pre>public static&nbsp;java.util.Map&nbsp;reducer(java.lang.Object&nbsp;srcColname,
clojure.lang.IFn&nbsp;reduceFn)</pre>
<div class="block"><p>Create a columnwise reducer eliding datatype parameter. See documentation on 3-arity form of function.</p></div>
</li>
</ul>
<a name="mean-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mean</h4>
<pre>public static&nbsp;java.util.Map&nbsp;mean(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>mean reducer</p></div>
</li>
</ul>
<a name="sum-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sum</h4>
<pre>public static&nbsp;java.util.Map&nbsp;sum(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>sum reducer</p></div>
</li>
</ul>
<a name="min-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>min</h4>
<pre>public static&nbsp;java.util.Map&nbsp;min(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>min reducer</p></div>
</li>
</ul>
<a name="max-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>max</h4>
<pre>public static&nbsp;java.util.Map&nbsp;max(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>max reducer</p></div>
</li>
</ul>
<a name="stddev-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stddev</h4>
<pre>public static&nbsp;java.util.Map&nbsp;stddev(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>stddev reducer</p></div>
</li>
</ul>
<a name="variance-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>variance</h4>
<pre>public static&nbsp;java.util.Map&nbsp;variance(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>variance reducer</p></div>
</li>
</ul>
<a name="first-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>first</h4>
<pre>public static&nbsp;java.util.Map&nbsp;first(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>reducer that keeps the first value</p></div>
</li>
</ul>
<a name="last-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>last</h4>
<pre>public static&nbsp;java.util.Map&nbsp;last(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>reducer that keeps the last value</p></div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><script type="text/javascript" src="../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/dataset/Reductions.html" title="class in tech.v3.dataset"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Rolling.html" target="_top">Frames</a></li>
<li><a href="Rolling.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>