Skip to content

4.2.4. Observation/variable-level matrices - np.random.default_generator() was deprecated #377

@alexyschuhku

Description

@alexyschuhku

Hi,

I ran the following Python code block:

adata.obsm["X_umap"] = np.random.default_generator().normal(0, 1, size=(adata.n_obs, 2))
adata.varm["gene_stuff"] = np.random.default_generator().normal(
    0, 1, size=(adata.n_vars, 5)
)
adata.obsm

And I got the error message:

Traceback (most recent call last):
File "", line 1, in
AttributeError: module 'numpy.random' has no attribute 'default_generator'
Traceback (most recent call last):
File "", line 1, in
AttributeError: module 'numpy.random' has no attribute 'default_generator'

Diagnostic:

The error occurs because np.random.default_generator() was deprecated in NumPy version 1.20.0 and later. Instead, you should use np.random.default_rng().

Corrected Code:

import numpy as np

# Generate random UMAP coordinates for observations
adata.obsm["X_umap"] = np.random.default_rng().normal(0, 1, size=(adata.n_obs, 2))

# Generate random data for genes
adata.varm["gene_stuff"] = np.random.default_rng().normal(
    0, 1, size=(adata.n_vars, 5)
)

adata.obsm

Best Regards
Alex Chu

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions