About Anaconda Help Download Anaconda

Literal Enum

Installers

  • noarch v0.0.1

conda install

To install this package run one of the following:
conda install dsm-72::narr

Description

narr

# #| hide
# from narr.strs import snake_case
# from narr.axes import NamedAxis, NamedAxes
# from narr.errs import NamedArrayDimsError
# from narr.mixs import NamedArrayDynamicAttrsMixin
# from narr.narr import NamedArray
 FeatureTrajectories,
#     CellularTrajectories, ExpressionTrajectories,

``` sh
# create conda environment
$ mamba env create -f env.yml

# update conda environment
$ mamba env update -n narr --file env.yml

Install

pip install -e .

# install from pypi
pip install narr

nbdev

# activate conda environment
$ conda activate narr

# make sure the narr package is installed in development mode
$ pip install -e .

# make changes under nbs/ directory
# ...

# compile to have changes apply to the narr package
$ nbdev_prepare

Publishing

# publish to pypi
$ nbdev_pypi

# publish to conda
$ nbdev_conda --build_args '-c conda-forge'
$ nbdev_conda --mambabuild --build_args '-c conda-forge -c dsm-72'

Usage

Installation

Install latest from the GitHub repository:

$ pip install git+https://github.com/dsm-72/narr.git

or from conda

$ conda install -c dsm-72 narr

or from pypi

$ pip install narr

Documentation

Documentation can be found hosted on GitHub repository pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.

# import numpy as np
# from typing import Callable

Subclassing NamedArray

# class Trajectories(NamedArray):
#     DIMS = NamedAxes([NamedAxis(dim.name, i) for i, dim in enumerate(TrajectoryDim)])

#     def to_obsv_x_traj(self, aggr: Callable = np.mean):
#         agg_arr = aggr(np.asarray(self.transpose(

#         )), axis=2)
#         return ObservationTrajectories(agg_arr)

#     def to_feat_x_traj(self, aggr: Callable = np.mean):
#         agg_arr = aggr(np.asarray(self.transpose(
#             TrajectoryDim.feat.name, TrajectoryDim.traj.name, TrajectoryDim.obsv.name,            
#         )), axis=2)
#         return FeatureTrajectories(agg_arr)

Using NamedArray Subclass Trajectories

# arr = np.random.randint(0, 10, (3, 5, 10))
   [0, 3, 8, 7, 2, 9, 9, 9, 1, 7],
            [0, 8, 5, 3, 3, 8, 8, 1, 3, 8],
            [3, 6, 9, 1, 8, 7, 7, 3, 1, 3],
            [0, 0, 2, 9, 1, 6, 6, 8, 1, 7]],

           [[5, 9, 5, 7, 3, 2, 1, 0, 9, 5],
            [9, 8, 7, 3, 1, 7, 6, 6, 0, 5],
            [8, 2, 9, 7, 2, 9, 4, 4, 0, 8],
            [2, 8, 2, 2, 0, 6, 6, 8, 6, 9],
            [5, 5, 2, 2, 3, 5, 9, 9, 3, 4]],

           [[3, 6, 4, 6, 3, 2, 4, 6, 9, 0],
            [7, 1, 6, 7, 7, 2, 6, 2, 2, 8],
            [2, 3, 6, 2, 5, 5, 2, 6, 2, 0],
            [3, 9, 8, 5, 1, 5, 7, 8, 7, 9],
            [9, 2, 1, 5, 2, 7, 0, 7, 4, 3]]])

``` python
# Trajectories(arr)
Trajectories([[[9, 7, 1, 4, 8, 2, 3, 3, 3, 1],
               [0, 3, 8, 7, 2, 9, 9, 9, 1, 7],
               [0, 8, 5, 3, 3, 8, 8, 1, 3, 8],
               [3, 6, 9, 1, 8, 7, 7, 3, 1, 3],
               [0, 0, 2, 9, 1, 6, 6, 8, 1, 7]],

              [[5, 9, 5, 7, 3, 2, 1, 0, 9, 5],
               [9, 8, 7, 3, 1, 7, 6, 6, 0, 5],
               [8, 2, 9, 7, 2, 9, 4, 4, 0, 8],
               [2, 8, 2, 2, 0, 6, 6, 8, 6, 9],
               [5, 5, 2, 2, 3, 5, 9, 9, 3, 4]],

              [[3, 6, 4, 6, 3, 2, 4, 6, 9, 0],
               [7, 1, 6, 7, 7, 2, 6, 2, 2, 8],
               [2, 3, 6, 2, 5, 5, 2, 6, 2, 0],
               [3, 9, 8, 5, 1, 5, 7, 8, 7, 9],
               [9, 2, 1, 5, 2, 7, 0, 7, 4, 3]]])
               (3 traj, 5 obsv, 10 feat)
# Trajectories(arr).transpose(1, 0, 2)
Trajectories([[[9, 7, 1, 4, 8, 2, 3, 3, 3, 1],
               [5, 9, 5, 7, 3, 2, 1, 0, 9, 5],
               [3, 6, 4, 6, 3, 2, 4, 6, 9, 0]],

              [[0, 3, 8, 7, 2, 9, 9, 9, 1, 7],
               [9, 8, 7, 3, 1, 7, 6, 6, 0, 5],
               [7, 1, 6, 7, 7, 2, 6, 2, 2, 8]],

              [[0, 8, 5, 3, 3, 8, 8, 1, 3, 8],
               [8, 2, 9, 7, 2, 9, 4, 4, 0, 8],
               [2, 3, 6, 2, 5, 5, 2, 6, 2, 0]],

              [[3, 6, 9, 1, 8, 7, 7, 3, 1, 3],
               [2, 8, 2, 2, 0, 6, 6, 8, 6, 9],
               [3, 9, 8, 5, 1, 5, 7, 8, 7, 9]],

              [[0, 0, 2, 9, 1, 6, 6, 8, 1, 7],
               [5, 5, 2, 2, 3, 5, 9, 9, 3, 4],
               [9, 2, 1, 5, 2, 7, 0, 7, 4, 3]]])
               (5 obsv, 3 traj, 10 feat)
# Trajectories(arr).transpose('obsv', 0, 2)
Trajectories([[[9, 7, 1, 4, 8, 2, 3, 3, 3, 1],
               [5, 9, 5, 7, 3, 2, 1, 0, 9, 5],
               [3, 6, 4, 6, 3, 2, 4, 6, 9, 0]],

              [[0, 3, 8, 7, 2, 9, 9, 9, 1, 7],
               [9, 8, 7, 3, 1, 7, 6, 6, 0, 5],
               [7, 1, 6, 7, 7, 2, 6, 2, 2, 8]],

              [[0, 8, 5, 3, 3, 8, 8, 1, 3, 8],
               [8, 2, 9, 7, 2, 9, 4, 4, 0, 8],
               [2, 3, 6, 2, 5, 5, 2, 6, 2, 0]],

              [[3, 6, 9, 1, 8, 7, 7, 3, 1, 3],
               [2, 8, 2, 2, 0, 6, 6, 8, 6, 9],
               [3, 9, 8, 5, 1, 5, 7, 8, 7, 9]],

              [[0, 0, 2, 9, 1, 6, 6, 8, 1, 7],
               [5, 5, 2, 2, 3, 5, 9, 9, 3, 4],
               [9, 2, 1, 5, 2, 7, 0, 7, 4, 3]]])
               (5 obsv, 3 traj, 10 feat)
# Trajectories(arr).transpose('obsv', 0, 2).to_obsv_x_traj()
NameError: name 'aggr' is not defined

© 2025 Anaconda, Inc. All Rights Reserved. (v4.0.9) Legal | Privacy Policy