arkas.output¶
arkas.output ¶
Contain data outputs.
arkas.output.AccuracyOutput ¶
Bases: BaseStateOutput[AccuracyState]
Implement the accuracy output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
AccuracyState
|
The state containing the ground truth and predicted labels. |
required |
Example usage:
>>> import numpy as np
>>> from arkas.output import AccuracyOutput
>>> from arkas.state import AccuracyState
>>> output = AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output
AccuracyOutput(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
>>> output.get_content_generator()
AccuracyContentGenerator(
(evaluator): AccuracyEvaluator(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
)
>>> output.get_evaluator()
AccuracyEvaluator(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
arkas.output.BalancedAccuracyOutput ¶
Bases: BaseStateOutput[AccuracyState]
Implement the balanced accuracy output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
AccuracyState
|
The state containing the ground truth and predicted labels. |
required |
Example usage:
>>> import numpy as np
>>> from arkas.output import BalancedAccuracyOutput
>>> from arkas.state import AccuracyState
>>> output = BalancedAccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output
BalancedAccuracyOutput(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
>>> output.get_content_generator()
BalancedAccuracyContentGenerator(
(evaluator): BalancedAccuracyEvaluator(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
)
>>> output.get_evaluator()
BalancedAccuracyEvaluator(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
arkas.output.BaseLazyOutput ¶
arkas.output.BaseOutput ¶
Bases: ABC
Define the base class to implement an output.
Example usage:
>>> import numpy as np
>>> from arkas.output import AccuracyOutput
>>> from arkas.state import AccuracyState
>>> output = AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output
AccuracyOutput(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
arkas.output.BaseOutput.compute
abstractmethod
¶
compute() -> BaseOutput
Compute the results and return a new ouptut.
Returns:
Type | Description |
---|---|
BaseOutput
|
A new ouptut with the computed results. |
Example usage:
>>> import numpy as np
>>> from arkas.output import AccuracyOutput
>>> from arkas.state import AccuracyState
>>> output = AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output
AccuracyOutput(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
>>> out = output.compute()
>>> out
Output(
(content): ContentGenerator()
(evaluator): Evaluator(count=5)
)
arkas.output.BaseOutput.equal
abstractmethod
¶
equal(other: Any, equal_nan: bool = False) -> bool
Indicate if two outputs are equal or not.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
other
|
Any
|
The other output to compare. |
required |
equal_nan
|
bool
|
Whether to compare NaN's as equal. If |
False
|
Returns:
Type | Description |
---|---|
bool
|
|
Example usage:
>>> import numpy as np
>>> from arkas.output import AccuracyOutput
>>> from arkas.state import AccuracyState
>>> output1 = AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output2 = AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output3 = AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 0, 0]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output1.equal(output2)
True
>>> output1.equal(output3)
False
arkas.output.BaseOutput.get_content_generator
abstractmethod
¶
get_content_generator(
lazy: bool = True,
) -> BaseContentGenerator
Get the HTML content generator associated to the output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
lazy
|
bool
|
If |
True
|
Returns:
Type | Description |
---|---|
BaseContentGenerator
|
The HTML content generator. |
Example usage:
>>> import numpy as np
>>> from arkas.output import AccuracyOutput
>>> from arkas.state import AccuracyState
>>> output = AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output.get_content_generator()
AccuracyContentGenerator(
(evaluator): AccuracyEvaluator(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
)
arkas.output.BaseOutput.get_evaluator
abstractmethod
¶
get_evaluator(lazy: bool = True) -> BaseEvaluator
Get the evaluator associated to the output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
lazy
|
bool
|
If |
True
|
Returns:
Type | Description |
---|---|
BaseEvaluator
|
The evaluator. |
Example usage:
>>> import numpy as np
>>> from arkas.output import AccuracyOutput
>>> from arkas.state import AccuracyState
>>> output = AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... )
>>> output.get_evaluator()
AccuracyEvaluator(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
arkas.output.ColumnCooccurrenceOutput ¶
Bases: BaseStateOutput[ColumnCooccurrenceState]
Implement the pairwise column co-occurrence output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
ColumnCooccurrenceState
|
The state with the co-occurrence matrix. |
required |
Example usage:
>>> import numpy as np
>>> from arkas.output import ColumnCooccurrenceOutput
>>> from arkas.state import ColumnCooccurrenceState
>>> output = ColumnCooccurrenceOutput(
... ColumnCooccurrenceState(matrix=np.ones((3, 3)), columns=["a", "b", "c"])
... )
>>> output
ColumnCooccurrenceOutput(
(state): ColumnCooccurrenceState(matrix=(3, 3), figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
ColumnCooccurrenceContentGenerator(
(state): ColumnCooccurrenceState(matrix=(3, 3), figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
ColumnCooccurrenceEvaluator(
(state): ColumnCooccurrenceState(matrix=(3, 3), figure_config=MatplotlibFigureConfig())
)
arkas.output.ColumnCorrelationOutput ¶
Bases: BaseStateOutput[TargetDataFrameState]
Implement an output to summarize the numeric columns of a DataFrame.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
TargetDataFrameState
|
The state containing the DataFrame to analyze. |
required |
Example usage:
>>> import polars as pl
>>> from arkas.output import ColumnCorrelationOutput
>>> from arkas.state import TargetDataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0],
... "col2": [7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0],
... "col3": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0],
... },
... )
>>> output = ColumnCorrelationOutput(TargetDataFrameState(frame, target_column="col3"))
>>> output
ColumnCorrelationOutput(
(state): TargetDataFrameState(dataframe=(7, 3), target_column='col3', nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
ColumnCorrelationContentGenerator(
(evaluator): ColumnCorrelationEvaluator(
(state): TargetDataFrameState(dataframe=(7, 3), target_column='col3', nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
)
>>> output.get_evaluator()
ColumnCorrelationEvaluator(
(state): TargetDataFrameState(dataframe=(7, 3), target_column='col3', nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
arkas.output.ContentOutput ¶
Bases: Output
Implement a simple content output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
content
|
str
|
The HTML content. |
required |
Example usage:
>>> from arkas.output import ContentOutput
>>> output = ContentOutput("meow")
>>> output
ContentOutput(
(content): ContentGenerator()
(evaluator): Evaluator(count=0)
)
>>> output.get_content_generator()
ContentGenerator()
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.ContinuousSeriesOutput ¶
Bases: BaseStateOutput[SeriesState]
Implement an output to analyze a series with continuous values.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
SeriesState
|
The state containing the Series to analyze. |
required |
Example usage:
>>> import polars as pl
>>> from arkas.output import ContinuousSeriesOutput
>>> from arkas.state import SeriesState
>>> output = ContinuousSeriesOutput(SeriesState(pl.Series("col1", [1, 2, 3, 4, 5, 6, 7])))
>>> output
ContinuousSeriesOutput(
(state): SeriesState(name='col1', values=(7,), figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
ContinuousSeriesContentGenerator(
(state): SeriesState(name='col1', values=(7,), figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.CorrelationOutput ¶
Bases: BaseStateOutput[TwoColumnDataFrameState]
Implement an output to summarize the numeric columns of a DataFrame.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
TwoColumnDataFrameState
|
The state containing the DataFrame to analyze. |
required |
Example usage:
>>> import polars as pl
>>> from arkas.output import CorrelationOutput
>>> from arkas.state import TwoColumnDataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0],
... "col2": [7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0],
... },
... )
>>> output = CorrelationOutput(
... TwoColumnDataFrameState(frame, column1="col1", column2="col2")
... )
>>> output
CorrelationOutput(
(state): TwoColumnDataFrameState(dataframe=(7, 2), column1='col1', column2='col2', nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
CorrelationContentGenerator(
(evaluator): CorrelationEvaluator(
(state): TwoColumnDataFrameState(dataframe=(7, 2), column1='col1', column2='col2', nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
(plotter): CorrelationPlotter(
(state): TwoColumnDataFrameState(dataframe=(7, 2), column1='col1', column2='col2', nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
)
>>> output.get_evaluator()
CorrelationEvaluator(
(state): TwoColumnDataFrameState(dataframe=(7, 2), column1='col1', column2='col2', nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
arkas.output.EmptyOutput ¶
Bases: Output
Implement the accuracy output.
Example usage:
>>> from arkas.output import EmptyOutput
>>> output = EmptyOutput()
>>> output
EmptyOutput()
>>> output.get_content_generator()
ContentGenerator()
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.HexbinColumnOutput ¶
Bases: BaseStateOutput[ScatterDataFrameState]
Implement an output to make a 2D hexagonal binning plot of some columns.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
ScatterDataFrameState
|
The state containing the DataFrame to analyze. |
required |
Example usage:
>>> import polars as pl
>>> from arkas.output import HexbinColumnOutput
>>> from arkas.state import ScatterDataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [0, 1, 1, 0],
... "col2": [0, 1, 0, 1],
... "col3": [1, 0, 0, 0],
... },
... schema={"col1": pl.Int64, "col2": pl.Int64, "col3": pl.Int64},
... )
>>> output = HexbinColumnOutput(ScatterDataFrameState(frame, x="col1", y="col2"))
>>> output
HexbinColumnOutput(
(state): ScatterDataFrameState(dataframe=(4, 3), x='col1', y='col2', color=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
HexbinColumnContentGenerator(
(state): ScatterDataFrameState(dataframe=(4, 3), x='col1', y='col2', color=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.NullValueOutput ¶
Bases: BaseStateOutput[NullValueState]
Implement an output to analyze the number of null values per column.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
NullValueState
|
The state containing the number of null values per column. |
required |
Example usage:
>>> import numpy as np
>>> from arkas.output import NullValueOutput
>>> from arkas.state import NullValueState
>>> output = NullValueOutput(
... NullValueState(
... null_count=np.array([0, 1, 2]),
... total_count=np.array([5, 5, 5]),
... columns=["col1", "col2", "col3"],
... )
... )
>>> output
NullValueOutput(
(state): NullValueState(num_columns=3, figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
NullValueContentGenerator(
(state): NullValueState(num_columns=3, figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.NumericSummaryOutput ¶
Bases: BaseStateOutput[DataFrameState]
Implement an output to summarize the numeric columns of a DataFrame.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
DataFrameState
|
The state containing the DataFrame to analyze. |
required |
Example usage:
>>> import polars as pl
>>> from arkas.output import NumericSummaryOutput
>>> from arkas.state import DataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [0, 1, 1, 0, 0, 1, 0],
... "col2": [0, 1, 0, 1, 0, 1, 0],
... "col3": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0],
... },
... schema={"col1": pl.Int64, "col2": pl.Int32, "col3": pl.Float64},
... )
>>> output = NumericSummaryOutput(DataFrameState(frame))
>>> output
NumericSummaryOutput(
(state): DataFrameState(dataframe=(7, 3), nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
NumericSummaryContentGenerator(
(state): DataFrameState(dataframe=(7, 3), nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
NumericStatisticsEvaluator(
(state): DataFrameState(dataframe=(7, 3), nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
arkas.output.Output ¶
Bases: BaseLazyOutput
Implement a simple output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
content
|
BaseContentGenerator
|
The HTML content generator. |
required |
evaluator
|
BaseEvaluator
|
The evaluator. |
required |
Example usage:
>>> from arkas.output import Output
>>> from arkas.content import ContentGenerator
>>> from arkas.evaluator2 import Evaluator
>>> output = Output(content=ContentGenerator("meow"), evaluator=Evaluator())
>>> output
Output(
(content): ContentGenerator()
(evaluator): Evaluator(count=0)
)
>>> output.get_content_generator()
ContentGenerator()
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.OutputDict ¶
Bases: BaseLazyOutput
Implement an output that combines a mapping of output objects into a single output object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
outputs
|
Mapping[str, BaseOutput]
|
The mapping of output objects to combine. |
required |
Example usage:
>>> import numpy as np
>>> from arkas.output import OutputDict, Output, AccuracyOutput
>>> from arkas.content import ContentGenerator
>>> from arkas.evaluator2 import Evaluator
>>> from arkas.evaluator2 import AccuracyEvaluator
>>> from arkas.state import AccuracyState
>>> output = OutputDict(
... {
... "one": Output(content=ContentGenerator("meow"), evaluator=Evaluator()),
... "two": AccuracyOutput(
... AccuracyState(
... y_true=np.array([1, 0, 0, 1, 1]),
... y_pred=np.array([1, 0, 0, 1, 1]),
... y_true_name="target",
... y_pred_name="pred",
... )
... ),
... }
... )
>>> output
OutputDict(count=2)
>>> output.get_content_generator()
ContentGeneratorDict(
(one): ContentGenerator()
(two): AccuracyContentGenerator(
(evaluator): AccuracyEvaluator(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
)
)
>>> output.get_evaluator()
EvaluatorDict(
(one): Evaluator(count=0)
(two): AccuracyEvaluator(
(state): AccuracyState(y_true=(5,), y_pred=(5,), y_true_name='target', y_pred_name='pred', nan_policy='propagate')
)
)
arkas.output.PlotColumnOutput ¶
Bases: BaseStateOutput[DataFrameState]
Implement an output to plot each column of a DataFrame.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
DataFrameState
|
The state containing the DataFrame to analyze. |
required |
Example usage:
>>> import polars as pl
>>> from arkas.output import PlotColumnOutput
>>> from arkas.state import DataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [1.2, 4.2, 4.2, 2.2],
... "col2": [1, 1, 1, 1],
... "col3": [1, 2, 2, 2],
... },
... schema={"col1": pl.Float64, "col2": pl.Int64, "col3": pl.Int64},
... )
>>> output = PlotColumnOutput(DataFrameState(frame))
>>> output
PlotColumnOutput(
(state): DataFrameState(dataframe=(4, 3), nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
PlotColumnContentGenerator(
(state): DataFrameState(dataframe=(4, 3), nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.ScatterColumnOutput ¶
Bases: BaseStateOutput[ScatterDataFrameState]
Implement an output to scatter plot some columns.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
ScatterDataFrameState
|
The state containing the DataFrame to analyze. |
required |
Example usage:
>>> import polars as pl
>>> from arkas.output import ScatterColumnOutput
>>> from arkas.state import ScatterDataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [0, 1, 1, 0],
... "col2": [0, 1, 0, 1],
... "col3": [1, 0, 0, 0],
... },
... schema={"col1": pl.Int64, "col2": pl.Int64, "col3": pl.Int64},
... )
>>> output = ScatterColumnOutput(ScatterDataFrameState(frame, x="col1", y="col2"))
>>> output
ScatterColumnOutput(
(state): ScatterDataFrameState(dataframe=(4, 3), x='col1', y='col2', color=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
ScatterColumnContentGenerator(
(state): ScatterDataFrameState(dataframe=(4, 3), x='col1', y='col2', color=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.SummaryOutput ¶
Bases: BaseStateOutput[DataFrameState]
Implement the DataFrame summary output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
frame
|
The DataFrame to analyze. |
required | |
top
|
The number of most frequent values to show. |
required |
Example usage:
>>> import polars as pl
>>> from arkas.output import SummaryOutput
>>> from arkas.state import DataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [0, 1, 1, 0, 0, 1, 0],
... "col2": [0, 1, 0, 1, 0, 1, 0],
... "col3": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0],
... }
... )
>>> output = SummaryOutput(DataFrameState(frame))
>>> output
SummaryOutput(
(state): DataFrameState(dataframe=(7, 3), nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
SummaryContentGenerator(
(state): DataFrameState(dataframe=(7, 3), nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.TemporalContinuousColumnOutput ¶
Bases: BaseStateOutput[TemporalColumnState]
Implement an output to analyze a column with continuous values.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
TemporalColumnState
|
The state containing the column to analyze. |
required |
Example usage:
>>> from datetime import datetime, timezone
>>> import polars as pl
>>> from arkas.output import TemporalContinuousColumnOutput
>>> from arkas.state import TemporalColumnState
>>> frame = pl.DataFrame(
... {
... "col1": [0, 1, 0, 1],
... "col2": [0, 1, 2, 3],
... "datetime": [
... datetime(year=2020, month=1, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=2, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=3, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=4, day=3, tzinfo=timezone.utc),
... ],
... },
... schema={
... "col1": pl.Int64,
... "col2": pl.Int64,
... "datetime": pl.Datetime(time_unit="us", time_zone="UTC"),
... },
... )
>>> output = TemporalContinuousColumnOutput(
... TemporalColumnState(frame, target_column="col2", temporal_column="datetime")
... )
>>> output
TemporalContinuousColumnOutput(
(state): TemporalColumnState(dataframe=(4, 3), target_column='col2', temporal_column='datetime', period=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
TemporalContinuousColumnContentGenerator(
(state): TemporalColumnState(dataframe=(4, 3), target_column='col2', temporal_column='datetime', period=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.TemporalNullValueOutput ¶
Bases: BaseStateOutput[TemporalDataFrameState]
Implement an output to analyze the number of null values in a DataFrame.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
TemporalDataFrameState
|
The state containing the DataFrame to analyze. |
required |
Example usage:
>>> from datetime import datetime, timezone
>>> import polars as pl
>>> from arkas.output import TemporalNullValueOutput
>>> from arkas.state import TemporalDataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [0, 1, 1, 0],
... "col2": [0, 1, 0, 1],
... "col3": [1, 0, 0, 0],
... "datetime": [
... datetime(year=2020, month=1, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=2, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=3, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=4, day=3, tzinfo=timezone.utc),
... ],
... },
... schema={
... "col1": pl.Int64,
... "col2": pl.Int64,
... "col3": pl.Int64,
... "datetime": pl.Datetime(time_unit="us", time_zone="UTC"),
... },
... )
>>> output = TemporalNullValueOutput(
... TemporalDataFrameState(frame, temporal_column="datetime")
... )
>>> output
TemporalNullValueOutput(
(state): TemporalDataFrameState(dataframe=(4, 4), temporal_column='datetime', period=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
TemporalNullValueContentGenerator(
(state): TemporalDataFrameState(dataframe=(4, 4), temporal_column='datetime', period=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)
arkas.output.TemporalPlotColumnOutput ¶
Bases: BaseStateOutput[TemporalDataFrameState]
Implement an output to plot each column of a DataFrame along a temporal dimension.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
TemporalDataFrameState
|
The state containing the DataFrame to analyze. |
required |
Example usage:
>>> from datetime import datetime, timezone
>>> import polars as pl
>>> from arkas.output import TemporalPlotColumnOutput
>>> from arkas.state import TemporalDataFrameState
>>> frame = pl.DataFrame(
... {
... "col1": [0, 1, 1, 0],
... "col2": [0, 1, 0, 1],
... "col3": [1, 0, 0, 0],
... "datetime": [
... datetime(year=2020, month=1, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=2, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=3, day=3, tzinfo=timezone.utc),
... datetime(year=2020, month=4, day=3, tzinfo=timezone.utc),
... ],
... },
... schema={
... "col1": pl.Int64,
... "col2": pl.Int64,
... "col3": pl.Int64,
... "datetime": pl.Datetime(time_unit="us", time_zone="UTC"),
... },
... )
>>> output = TemporalPlotColumnOutput(
... TemporalDataFrameState(frame, temporal_column="datetime")
... )
>>> output
TemporalPlotColumnOutput(
(state): TemporalDataFrameState(dataframe=(4, 4), temporal_column='datetime', period=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_content_generator()
TemporalPlotColumnContentGenerator(
(state): TemporalDataFrameState(dataframe=(4, 4), temporal_column='datetime', period=None, nan_policy='propagate', figure_config=MatplotlibFigureConfig())
)
>>> output.get_evaluator()
Evaluator(count=0)