Skip to content

Commit

Permalink
Add changes for 0106a84
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed May 22, 2024
1 parent c53589d commit 0a8387d
Show file tree
Hide file tree
Showing 12 changed files with 77 additions and 97 deletions.
34 changes: 10 additions & 24 deletions _modules/timeseriesflattener/feature_specs/meta.html
Original file line number Diff line number Diff line change
Expand Up @@ -228,31 +228,15 @@ <h1>Source code for timeseriesflattener.feature_specs.meta</h1><div class="highl
<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span>

<span class="kn">import</span> <span class="nn">datetime</span> <span class="k">as</span> <span class="nn">dt</span>
<span class="kn">from</span> <span class="nn">collections.abc</span> <span class="kn">import</span> <span class="n">Sequence</span>
<span class="kn">from</span> <span class="nn">dataclasses</span> <span class="kn">import</span> <span class="n">InitVar</span><span class="p">,</span> <span class="n">dataclass</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">TYPE_CHECKING</span><span class="p">,</span> <span class="n">Literal</span><span class="p">,</span> <span class="n">Union</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Literal</span>

<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">polars</span> <span class="k">as</span> <span class="nn">pl</span>

<span class="kn">from</span> <span class="nn">timeseriesflattener.feature_specs.default_column_names</span> <span class="kn">import</span> <span class="n">default_entity_id_col_name</span>

<span class="kn">from</span> <span class="nn">.._frame_validator</span> <span class="kn">import</span> <span class="n">_validate_col_name_columns_exist</span>
<span class="kn">from</span> <span class="nn">..frame_utilities.anyframe_to_lazyframe</span> <span class="kn">import</span> <span class="n">_anyframe_to_lazyframe</span>

<span class="k">if</span> <span class="n">TYPE_CHECKING</span><span class="p">:</span>
<span class="kn">from</span> <span class="nn">typing_extensions</span> <span class="kn">import</span> <span class="n">TypeAlias</span>


<span class="n">ValueType</span> <span class="o">=</span> <span class="n">Union</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="nb">str</span><span class="p">,</span> <span class="kc">None</span><span class="p">]</span>
<span class="n">InitDF_T</span> <span class="o">=</span> <span class="n">Union</span><span class="p">[</span><span class="n">pl</span><span class="o">.</span><span class="n">LazyFrame</span><span class="p">,</span> <span class="n">pl</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">,</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">]</span>


<span class="n">LookDistance</span> <span class="o">=</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span>


<span class="n">LookDistances</span><span class="p">:</span> <span class="n">TypeAlias</span> <span class="o">=</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">Union</span><span class="p">[</span><span class="n">LookDistance</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">[</span><span class="n">LookDistance</span><span class="p">,</span> <span class="n">LookDistance</span><span class="p">]]]</span>


<div class="viewcode-block" id="ValueFrame"><a class="viewcode-back" href="../../../feature_specifications.html#timeseriesflattener.feature_specs.meta.ValueFrame">[docs]</a><span class="nd">@dataclass</span>
<span class="k">class</span> <span class="nc">ValueFrame</span><span class="p">:</span>
Expand All @@ -264,12 +248,14 @@ <h1>Source code for timeseriesflattener.feature_specs.meta</h1><div class="highl
<span class="sd"> Additional columns containing the values of the time series. The name of the columns will be used for feature naming.</span>
<span class="sd"> &quot;&quot;&quot;</span>

<span class="n">init_df</span><span class="p">:</span> <span class="n">InitVar</span><span class="p">[</span><span class="n">InitDF_T</span><span class="p">]</span>
<span class="n">entity_id_col_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">default_entity_id_col_name</span>
<span class="n">init_df</span><span class="p">:</span> <span class="n">InitVar</span><span class="p">[</span><span class="n">pl</span><span class="o">.</span><span class="n">LazyFrame</span> <span class="o">|</span> <span class="n">pl</span><span class="o">.</span><span class="n">DataFrame</span> <span class="o">|</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">]</span>
<span class="n">entity_id_col_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;entity_id&quot;</span>
<span class="n">value_timestamp_col_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;timestamp&quot;</span>
<span class="n">coerce_to_lazy</span><span class="p">:</span> <span class="n">InitVar</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>

<span class="k">def</span> <span class="nf">__post_init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">init_df</span><span class="p">:</span> <span class="n">InitDF_T</span><span class="p">,</span> <span class="n">coerce_to_lazy</span><span class="p">:</span> <span class="nb">bool</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">__post_init__</span><span class="p">(</span>
<span class="bp">self</span><span class="p">,</span> <span class="n">init_df</span><span class="p">:</span> <span class="n">pl</span><span class="o">.</span><span class="n">LazyFrame</span> <span class="o">|</span> <span class="n">pl</span><span class="o">.</span><span class="n">DataFrame</span> <span class="o">|</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">,</span> <span class="n">coerce_to_lazy</span><span class="p">:</span> <span class="nb">bool</span>
<span class="p">):</span>
<span class="k">if</span> <span class="n">coerce_to_lazy</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">df</span> <span class="o">=</span> <span class="n">_anyframe_to_lazyframe</span><span class="p">(</span><span class="n">init_df</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
Expand All @@ -290,8 +276,8 @@ <h1>Source code for timeseriesflattener.feature_specs.meta</h1><div class="highl

<div class="viewcode-block" id="LookPeriod"><a class="viewcode-back" href="../../../feature_specifications.html#timeseriesflattener.feature_specs.meta.LookPeriod">[docs]</a><span class="nd">@dataclass</span><span class="p">(</span><span class="n">frozen</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="k">class</span> <span class="nc">LookPeriod</span><span class="p">:</span>
<span class="n">first</span><span class="p">:</span> <span class="n">LookDistance</span>
<span class="n">last</span><span class="p">:</span> <span class="n">LookDistance</span>
<span class="n">first</span><span class="p">:</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span>
<span class="n">last</span><span class="p">:</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span>

<span class="k">def</span> <span class="nf">__post_init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">first</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">last</span><span class="p">:</span>
Expand All @@ -301,11 +287,11 @@ <h1>Source code for timeseriesflattener.feature_specs.meta</h1><div class="highl


<span class="k">def</span> <span class="nf">_lookdistance_to_normalised_lookperiod</span><span class="p">(</span>
<span class="n">lookdistance</span><span class="p">:</span> <span class="n">LookDistance</span> <span class="o">|</span> <span class="nb">tuple</span><span class="p">[</span><span class="n">LookDistance</span><span class="p">,</span> <span class="n">LookDistance</span><span class="p">],</span>
<span class="n">lookdistance</span><span class="p">:</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span> <span class="o">|</span> <span class="nb">tuple</span><span class="p">[</span><span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">,</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">],</span>
<span class="n">direction</span><span class="p">:</span> <span class="n">Literal</span><span class="p">[</span><span class="s2">&quot;ahead&quot;</span><span class="p">,</span> <span class="s2">&quot;behind&quot;</span><span class="p">],</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="n">LookPeriod</span><span class="p">:</span>
<span class="n">is_ahead</span> <span class="o">=</span> <span class="n">direction</span> <span class="o">==</span> <span class="s2">&quot;ahead&quot;</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">lookdistance</span><span class="p">,</span> <span class="n">LookDistance</span><span class="p">):</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">lookdistance</span><span class="p">,</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">):</span>
<span class="k">return</span> <span class="n">LookPeriod</span><span class="p">(</span>
<span class="n">first</span><span class="o">=</span><span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">is_ahead</span> <span class="k">else</span> <span class="o">-</span><span class="n">lookdistance</span><span class="p">,</span>
<span class="n">last</span><span class="o">=</span><span class="n">lookdistance</span> <span class="k">if</span> <span class="n">is_ahead</span> <span class="k">else</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span>
Expand Down
13 changes: 8 additions & 5 deletions _modules/timeseriesflattener/feature_specs/outcome.html
Original file line number Diff line number Diff line change
Expand Up @@ -227,13 +227,14 @@
<h1>Source code for timeseriesflattener.feature_specs.outcome</h1><div class="highlight"><pre>
<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span>

<span class="kn">import</span> <span class="nn">datetime</span> <span class="k">as</span> <span class="nn">dt</span>
<span class="kn">from</span> <span class="nn">dataclasses</span> <span class="kn">import</span> <span class="n">InitVar</span><span class="p">,</span> <span class="n">dataclass</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">TYPE_CHECKING</span>

<span class="kn">import</span> <span class="nn">polars</span> <span class="k">as</span> <span class="nn">pl</span>

<span class="kn">from</span> <span class="nn">.._frame_validator</span> <span class="kn">import</span> <span class="n">_validate_col_name_columns_exist</span>
<span class="kn">from</span> <span class="nn">.meta</span> <span class="kn">import</span> <span class="n">LookDistances</span><span class="p">,</span> <span class="n">ValueFrame</span><span class="p">,</span> <span class="n">ValueType</span><span class="p">,</span> <span class="n">_lookdistance_to_normalised_lookperiod</span>
<span class="kn">from</span> <span class="nn">.meta</span> <span class="kn">import</span> <span class="n">ValueFrame</span><span class="p">,</span> <span class="n">_lookdistance_to_normalised_lookperiod</span>

<span class="k">if</span> <span class="n">TYPE_CHECKING</span><span class="p">:</span>
<span class="kn">from</span> <span class="nn">collections.abc</span> <span class="kn">import</span> <span class="n">Sequence</span>
Expand All @@ -247,12 +248,14 @@ <h1>Source code for timeseriesflattener.feature_specs.outcome</h1><div class="hi
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Specification for an outcome. If your outcome is binary/boolean, you can use BooleanOutcomeSpec instead.&quot;&quot;&quot;</span>

<span class="n">value_frame</span><span class="p">:</span> <span class="n">ValueFrame</span>
<span class="n">lookahead_distances</span><span class="p">:</span> <span class="n">InitVar</span><span class="p">[</span><span class="n">LookDistances</span><span class="p">]</span>
<span class="n">lookahead_distances</span><span class="p">:</span> <span class="n">InitVar</span><span class="p">[</span><span class="n">Sequence</span><span class="p">[</span><span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span> <span class="o">|</span> <span class="nb">tuple</span><span class="p">[</span><span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">,</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">]]]</span>
<span class="n">aggregators</span><span class="p">:</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">Aggregator</span><span class="p">]</span>
<span class="n">fallback</span><span class="p">:</span> <span class="n">ValueType</span>
<span class="n">fallback</span><span class="p">:</span> <span class="nb">int</span> <span class="o">|</span> <span class="nb">float</span> <span class="o">|</span> <span class="nb">str</span> <span class="o">|</span> <span class="kc">None</span>
<span class="n">column_prefix</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;outc&quot;</span>

<span class="k">def</span> <span class="nf">__post_init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">lookahead_distances</span><span class="p">:</span> <span class="n">LookDistances</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">__post_init__</span><span class="p">(</span>
<span class="bp">self</span><span class="p">,</span> <span class="n">lookahead_distances</span><span class="p">:</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span> <span class="o">|</span> <span class="nb">tuple</span><span class="p">[</span><span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">,</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">]]</span>
<span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">normalised_lookperiod</span> <span class="o">=</span> <span class="p">[</span>
<span class="n">_lookdistance_to_normalised_lookperiod</span><span class="p">(</span><span class="n">lookdistance</span><span class="o">=</span><span class="n">lookdistance</span><span class="p">,</span> <span class="n">direction</span><span class="o">=</span><span class="s2">&quot;ahead&quot;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">lookdistance</span> <span class="ow">in</span> <span class="n">lookahead_distances</span>
Expand All @@ -274,7 +277,7 @@ <h1>Source code for timeseriesflattener.feature_specs.outcome</h1><div class="hi
<span class="sd"> &quot;&quot;&quot;</span>

<span class="n">init_frame</span><span class="p">:</span> <span class="n">InitVar</span><span class="p">[</span><span class="n">TimestampValueFrame</span><span class="p">]</span>
<span class="n">lookahead_distances</span><span class="p">:</span> <span class="n">LookDistances</span>
<span class="n">lookahead_distances</span><span class="p">:</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span> <span class="o">|</span> <span class="nb">tuple</span><span class="p">[</span><span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">,</span> <span class="n">dt</span><span class="o">.</span><span class="n">timedelta</span><span class="p">]]</span>
<span class="n">aggregators</span><span class="p">:</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">Aggregator</span><span class="p">]</span>
<span class="n">output_name</span><span class="p">:</span> <span class="nb">str</span>
<span class="n">column_prefix</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;outc&quot;</span>
Expand Down
Loading

0 comments on commit 0a8387d

Please sign in to comment.