anndataのチュートリアル

Scanpyで使われるanndataのチュートリアルをやってみる。参考にしたのは以下

https://anndata-tutorials.readthedocs.io/en/latest/getting-started.html

import numpy as np
import pandas as pd
import anndata as ad
print(ad.__version__)

10000行、10列のデータフレームを作る

n_obs, n_vars = 10000, 10
X = np.random.random((n_obs, n_vars))
df = pd.DataFrame(X, columns=list('ABCDEFGHIJ'), index=np.arange(n_obs, dtype=int).astype(str))

もう一つメタデータのデータフレームを作る。行数は同じ10000行. obsはobservationの略

obs_meta = pd.DataFrame({
       
'time_yr': np.random.choice([0, 2, 4, 8], n_obs),
       
'subject_id': np.random.choice(['subject 1', 'subject 2', 'subject 4', 'subject 8'], n_obs),
       
'instrument_type': np.random.choice(['type a', 'type b'], n_obs),
       
'site': np.random.choice(['site x', 'site y'], n_obs),
   },
   index=np.arange(n_obs, dtype=
int).astype(str),    # these are the same IDs of observations as above!
)

2つのデータを一つのメタデータにする。ここがanndata

adata = ad.AnnData(df, obs=obs_meta)

データフレームを見たい場合

adata.to_df()

obsを見たい場合

adata.obs

最初の五行を表示

adata[:5,]

メモリーに残す場合は.copy()をする

adata_subset = adata[:5, ].copy()

アーカイブ

もっと見る