操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    一、環(huán)境準備:

    搭建 高效開發(fā)環(huán)境: +

    二、安裝

    pip install scanpy

    三、、 介紹與結(jié)構(gòu)

    是用于存儲數(shù)據(jù)的對象,一般作為 的數(shù)據(jù)存儲格式。

    主要由以下幾部分構(gòu)成:

    下面我們動手構(gòu)建一個用于創(chuàng)建 的虛擬數(shù)據(jù)

    import numpy as np
    import pandas as pd
    import anndata as ad
    from string import ascii_uppercase
    # 設置觀測值數(shù)量
    n_obs = 1000
    # 生成觀察時間
    

    sc 本地錢包修改存儲_修改圖片存儲大小_碧藍航線sc修改教程

    obs = pd.DataFrame() obs['time'] = np.random.choice(['day 1', 'day 2', 'day 4', 'day 8'], n_obs) # 設置特征名 var_names = [i*letter for i in range(1, 10) for letter in ascii_uppercase] # 特征數(shù)量 n_vars = len(var_names) # 特征注釋數(shù)據(jù)框 var = pd.DataFrame(index=var_names) # 生成數(shù)據(jù)矩陣 X = np.arange(n_obs*n_vars).reshape(n_obs, n_vars)

    2、 初始化

    # 初始化 AnnoData 對象
    # AnnoData 對象默認使用數(shù)據(jù)類型為 `float32`, 可以更精確的存儲數(shù)據(jù)
    # 這里設置為整數(shù),為了演示方便
    adata = ad.AnnData(X, obs=obs, var=var, dtype='int32')
    # 一般默認將變量或特征存儲在數(shù)據(jù)框的行
    # 查看數(shù)據(jù)
    

    碧藍航線sc修改教程_sc 本地錢包修改存儲_修改圖片存儲大小

    print(adata)

    3、 切片特性

    可以看到 具有和 或 Array 相似的長相,同樣具備相似的特性,比如切片:

    # 通過切片查看觀測值和變量
    print(adata.obs_names[:10].tolist())
    print(adata.obs_names[-10:].tolist())
    print(adata.var_names[:10].tolist())
    print(adata.var_names[-10:].tolist())
    # 查看矩陣
    print(X)

    3、 的 view 特性

    可以實現(xiàn)與 numpy 中的 view 相似的功能。

    換句話說就是,我們每次操作 時,并不是再新建一個 來存儲數(shù)據(jù),而是直接找到已經(jīng)之前初始化好的 的內(nèi)存地址sc 本地錢包修改存儲,通過內(nèi)存地址來直接改變 的值。這樣做的好處是:

    view 可以使用 .copy() 來得到 對象。

    # 查看 'A' 列的頭三個元素
    

    sc 本地錢包修改存儲_修改圖片存儲大小_碧藍航線sc修改教程

    print(adata[:3, 'A'].X) # 設置 'A' 列的頭三個元素 adata[:3, 'A'].X = [0, 0, 0] # 查看 'A' 列的頭五個元素 print(adata[:5, 'A'].X)

    其實我們在調(diào)用 .[] 時,已經(jīng)在內(nèi)部實現(xiàn)了該操作,也就是說該 view 會成為保存數(shù)據(jù)的 對象。

    但是,如果將 對象的 view 中的一部分賦值,該內(nèi)容會復制一份并生成新的數(shù)據(jù)存儲對象。

    adata_subset = adata[:5, ['A', 'B']]
    print(adata_subset)
    adata_subset.obs['foo'] = range(5)

    可以看到,這時賦值會直接將 對象復制一份。現(xiàn)在 會重新得到一塊內(nèi)存用于存儲實際數(shù)據(jù),而不再僅僅是對 adata 的內(nèi)存地址引用。

    4、備份到本地

    # 計算對象大小的函數(shù)
    def print_size_in_MB(x):
        print('{:.3} MB'.format(x.__sizeof__()/1e6))
    

    sc 本地錢包修改存儲_碧藍航線sc修改教程_修改圖片存儲大小

    # 查看 adata 對象大小 print_size_in_MB(adata) # 查看是否備份 adata.isbacked # 設置備份地址 adata.filename = './write/test.h5ad' # 查看是否備份成功 adata.isbacked

    可以看到,我們的 adata 對象已經(jīng)備份成功,而且就在本地 './write/test.h5ad' 目錄。

    前邊提到的 view 特性在這里同樣適用sc 本地錢包修改存儲,我們來看看 是否備份成功。

    adata_subset.isbacked
    adata_subset.filename = './write/adata_subset_test.h5ad'
    adata_subset.isbacked

    并沒有被啟用備份模式,重新設置備份模式。

    需要注意的是:備份僅影響數(shù)據(jù)矩陣 X,所有注釋信息都保留在內(nèi)存中。如果想對全部數(shù)據(jù)的更改保存,則必須將導出到本地。

    修改圖片存儲大小_sc 本地錢包修改存儲_碧藍航線sc修改教程

    5、導出到本地

    adata.write("./write/my_results.h5ad")
    adata.write_csvs('./write/my_results_csvs', )

    6、讀取數(shù)據(jù)

    import scanpy as sc
    import pandas as pd
    # 初始化數(shù)據(jù)
    adata = sc.read(filename)
    # 加入數(shù)據(jù)
    anno = pd.read_csv(filename_sample_annotation)
    # 加入樣本分組信息
    adata.obs['cell_groups'] = anno['cell_groups']  # categorical annotation of type pandas.Categorical
    # 加入時間信息
    adata.obs['time'] = anno['time']                # numerical annotation of type float
    # 甚至可以直接賦值 dataframe
    adata.obs = anno

    參考:..io/en//

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有