如果各自的adata没有batch属性 那么sc.AnnData.concatenate就会自动创建
最终的结果如下
但是如果起初的各个adata已经具有batch的标示 那么sc.AnnData会重新覆盖 且取值只会是0 1 2
测试如下
import scanpy as sc import numpy as np np.random.seed(1)#设置随机种子 x np.random.randn(3000,100)# x是二维的 y np.random.randn(2000,100)# y是2维的 z np.random.randn(1000,100) adata1 sc.AnnData(x) adata1.obs[ batch ] batch1 adata1.obs[ BATCH ] BATCH1 ###### adata2 sc.AnnData(y) adata2.obs[ batch ] batch2 adata2.obs[ BATCH ] BATCH2 ###### adata3 sc.AnnData(z) adata3.obs[ batch ] batch3 adata3.obs[ BATCH ] BATCH3 adata sc.AnnData.concatenate(adata1,adata2,adata3) print(adata.obs)
结果如下



