当前位置: 首页 > article >正文

ad.concat()学习

学习1

import anndata as ad, pandas as pd, numpy as np
from scipy import sparse
a = ad.AnnData(
     X=sparse.csr_matrix(np.array([[0, 1], [2, 3]])),
     obs=pd.DataFrame({"group": ["a", "b"]}, index=["s1", "s2"]),
     var=pd.DataFrame(index=["var1", "var2"]),
     varm={
         "ones": np.ones((2, 5)),
         "rand": np.random.randn(2, 3),
         "zeros": np.zeros((2, 5)),
     },
     uns={"a": 1, "b": 2, "c": {"c.a": 3, "c.b": 4}},
 )
b = ad.AnnData(
     X=sparse.csr_matrix(np.array([[4, 5, 6], [7, 8, 9]])),
     obs=pd.DataFrame(
         {"group": ["b", "c"], "measure": [1.2, 4.3]}, index=["s3", "s4"]
     ),
     var=pd.DataFrame(index=["var1", "var2", "var3"]),
     varm={"ones": np.ones((3, 5)), "rand": np.random.randn(3, 5)},
     uns={"a": 1, "b": 3, "c": {"c.b": 4}},
 )
c = ad.AnnData(
     X=sparse.csr_matrix(np.array([[10, 11], [12, 13]])),
     obs=pd.DataFrame({"group": ["a", "b"]}, index=["s1", "s2"]),
     var=pd.DataFrame(index=["var3", "var4"]),
     uns={"a": 1, "b": 4, "c": {"c.a": 3, "c.b": 4, "c.c": 5}},
 )

在这里插入图片描述

可以看到,label=batch 只是添加的列名,而不是按照这列合并,而keys的值仅仅是一个标识值,没有特殊含义,我可以用整数区分,我也可以用唯一的字符串区分,如病人名

adata_concat = ad.concat(Batch_list, label="slice_name", keys=section_ids)

学习2

import anndata as ad, pandas as pd, numpy as np
from scipy import sparse
a = ad.AnnData(
     X=sparse.csr_matrix(np.array([[0, 1], [2, 3]])),
     obs=pd.DataFrame({"group": ["a", "b"]}, index=["s1", "s2"]),
     var=pd.DataFrame(index=["var1", "var2"]),
     varm={
         "ones": np.ones((2, 5)),
         "rand": np.random.randn(2, 3),
         "zeros": np.zeros((2, 5)),
     },
     uns={"a": 1, "b": 2, "c": {"c.a": 3, "c.b": 4}},
 )
b = ad.AnnData(
     X=sparse.csr_matrix(np.array([[4, 5, 6], [7, 8, 9]])),
     obs=pd.DataFrame(
         {"group": ["b", "c"], "measure": [1.2, 4.3]}, index=["s3", "s4"]
     ),
     var=pd.DataFrame(index=["var1", "var2", "var3"]),
     varm={"ones": np.ones((3, 5)), "rand": np.random.randn(3, 5)},
     uns={"a": 1, "b": 3, "c": {"c.b": 4}},
 )
c = ad.AnnData(
     X=sparse.csr_matrix(np.array([[10, 11], [12, 13]])),
     obs=pd.DataFrame({"group": ["a", "b"]}, index=["s1", "s2"]),
     var=pd.DataFrame(index=["var3", "var4"]),
     uns={"a": 1, "b": 4, "c": {"c.a": 3, "c.b": 4, "c.c": 5}},
 )

print(a)
print(b)
print(a.X.toarray())
print(b.X.toarray())


注意这里的ad.concat, 这里的拼接是默认对var取交集的,但是对adata是去并集,也就是说adata的行是增加的,但列是减少的,这个需要特别注意


http://www.kler.cn/news/336381.html

相关文章:

  • 微信小程序开发-配置文件详解
  • C++之模版进阶篇
  • 【二十九】【QT开发应用】初步认识QSS,字体样式,边框样式,边框圆角,文字位置,背景样式,动态悬浮样式
  • Vue2电商项目(八) 完结撒花:图片懒加载、路由懒加载、打包的map文件
  • SpringBoot 集成 Ehcache 实现本地缓存
  • C嘎嘎入门篇:类和对象番外(时间类)
  • css如何制作瀑布流
  • 1、如何查看电脑已经连接上的wifi的密码?
  • 第三届图像处理、计算机视觉与机器学习国际学术会议(ICICML 2024)
  • jetbrains ide重命名问题
  • 《基于多视角深度学习技术的乳腺X线分类:图网络与Transformer架构的研究》|文献速递-基于多模态-半监督深度学习的病理学诊断与病灶分割
  • RabbitMQ入门1—queue参数之type
  • Flutter 3.24 AAPT: error: resource android:attr/lStar not found.
  • ②EtherCAT转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
  • 【C++指南】类和对象(二):类的默认成员函数——全面剖析 :构造函数
  • 无源码实现免登录功能
  • 网络安全学习的详细要点
  • 雪花算法相关面试题
  • 【查找算法概念】与【线性表的相关查找算法】
  • 【Codeforces】CF 2014 G