Skip to main content

Project generated with PyScaffold PyPI-Server Monthly Downloads Unit tests

Read and save matrices in Python

Introduction

The dolomite-matrix package is the Python counterpart to the alabaster.matrix R package, providing methods for saving/reading arrays and matrices within the dolomite framework. Dense arrays are stored in the usual HDF5 dataset, while sparse matrices are saved inside a HDF5 file in compressed sparse format.

Quick start

Let's save a dense matrix to a HDF5 file with some accompanying metadata:

import numpy
x = numpy.random.rand(1000, 200) 

import os
import tempfile
dir = os.path.join(tempfile.mkdtemp(), "whee")

import dolomite_base
import dolomite_matrix
dolomite_base.save_object(x, dir)

Now we can transfer the directory and reload the matrix in a new session. This constructs a HDF5-backed dense array that can be used for block processing or realized into the usual NumPy array.

import dolomite_base
obj = dolomite_base.read_object(dir)
## <1000 x 200> ReloadedArray object of type 'float64'
## [[0.58444226, 0.82595149, 0.7214525 , ..., 0.32493652, 0.58206044,
##   0.73770346],
##  [0.96398317, 0.73200292, 0.16410134, ..., 0.31626547, 0.11499628,
##   0.19768697],
##  [0.82350911, 0.48012452, 0.65221052, ..., 0.94989611, 0.15422992,
##   0.77173718],
##  ...,
##  [0.71715436, 0.19266116, 0.52316388, ..., 0.23104537, 0.935654  ,
##   0.51663007],
##  [0.38585049, 0.26709808, 0.70358993, ..., 0.91822795, 0.66144925,
##   0.42465112],
##  [0.08535589, 0.00144712, 0.51411921, ..., 0.84546122, 0.35001404,
##   0.53644868]]

Sparse matrices

We can also save and load a sparse matrix from a HDF5 file:

import scipy 
import numpy
x = scipy.sparse.random(1000, 200, 0.2, dtype=numpy.int16, format="csc")

import os
import tempfile
dir = os.path.join(tempfile.mkdtemp(), "stuff")

import dolomite_base
import dolomite_matrix
dolomite_base.save_object(x, dir)

And again, loading it back in a new session. This constructs a HDF5-backed sparse array that can be used for block processing or realized into the usual NumPy array.

import dolomite_base
obj = dolomite_base.read_object(dir)
## <1000 x 200> sparse ReloadedArray object of type 'int16'
## [[     0,      0, -28638, ...,      0,      0,  26194],
##  [     0,      0,      0, ...,      0, -30829,      0],
##  [     0,      0,      0, ...,      0,      0,      0],
##  ...,
##  [ 10895,      0,      0, ...,      0,      0,      0],
##  [     0,  32539,      0, ...,      0,   2780, -12106],
##  [     0,      0,      0, ...,   1452,      0, -26314]]

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dolomite_matrix-0.4.1.tar.gz (40.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dolomite_matrix-0.4.1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file dolomite_matrix-0.4.1.tar.gz.

File metadata

  • Download URL: dolomite_matrix-0.4.1.tar.gz
  • Upload date:
  • Size: 40.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for dolomite_matrix-0.4.1.tar.gz
Algorithm Hash digest
SHA256 1ab911294d78cd97014e00a59fe49f542a758f32ca33e4807ab03116c2e1e32d
MD5 b65a93518ad9b4534fa6217fb1e3e400
BLAKE2b-256 423c9ab414374be419bf8195592f5f80c09383625825714bcd87d357f0df2f2a

See more details on using hashes here.

File details

Details for the file dolomite_matrix-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dolomite_matrix-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc8fccf7a6922bb1a3bd50c7931304ecb2dc4acbb3f9c4a9c4647f67f5a9959d
MD5 613d745766cb4c20cfa6e1faf421dd06
BLAKE2b-256 e158e1042733a27d77cfd537a4dfaa9e9e6593f40a5c0143d71ea9e26f365411

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page