ad.concat()学习

news2024/10/6 15:01:53

学习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.coloradmin.cn/o/2192182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(作业)第三期书生·浦语大模型实战营(十一卷王场)–书生基础岛第3关---浦语提示词工程实践

基础任务 (完成此任务即完成闯关) 背景问题&#xff1a;近期相关研究发现&#xff0c;LLM在对比浮点数字时表现不佳&#xff0c;经验证&#xff0c;internlm2-chat-1.8b (internlm2-chat-7b)也存在这一问题&#xff0c;例如认为13.8<13.11。 任务要求&#xff1a;利用Lang…

[C++]使用纯opencv部署yolov11旋转框目标检测

【官方框架地址】 GitHub - ultralytics/ultralytics: Ultralytics YOLO11 &#x1f680; 【算法介绍】 YOLOv11是一种先进的对象检测算法&#xff0c;它通过单个神经网络实现了快速的物体检测。其中&#xff0c;旋转框检测是YOLOv11的一项重要特性&#xff0c;它可以有效地检…

vulnhub-digitalworld.local DEVELOPMENT靶机

vulnhub&#xff1a;digitalworld.local: DEVELOPMENT ~ VulnHub 导入靶机&#xff0c;放在kali同网段&#xff0c;扫描 靶机在192.168.114.129&#xff0c;扫描端口 开了几个端口&#xff0c;8080端口有网页&#xff0c;访问 说是让访问html_pages 似乎把页面都写出来了&…

FPGA时序分析和约束学习笔记(2、FPGA时序传输模型)

Tclk1TcoTdata < Tclk Tclk2 -Tsu Slack Tskew Tclk - Tsu - Tdata - Tco Skew时钟偏斜&#xff1a;时钟从源端口出发&#xff0c;到达目的寄存器和源寄存器的时间差值&#xff08;Tclk2-Tclk1&#xff09; Tsu建立时间&#xff1a;目的寄存器自身的特性决定&#xff…

掌握RocketMQ4.X消息中间件(一)-RocketMQ基本概念与系统架构

1 MQ介绍 MQ(Message Quene) : 翻译为 消息队列,别名为 消息中间件&#xff0c;通过典型的 生产者和消费者模型,生产者不断向消息队列中生产消息&#xff0c;消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的&#xff0c;而且只关心消息的发送和接收&#xff0c…

动态桌面时钟 让时间在桌面舞动 发现生活中的美好瞬间!

在快节奏的现代生活中&#xff0c;时间是最宝贵的资源之一。无论是在工作还是生活中&#xff0c;我们都需要时刻关注时间&#xff0c;在桌面显示一个时钟&#xff0c;可以让你更方便的掌握时间。今天小编给大家推荐一个软件《芝麻时钟》&#xff08;下载地址&#xff1a;https:…

vulnhub-DC 2靶机

vulnhub&#xff1a;DC: 2 ~ VulnHub 导入靶机&#xff0c;放在kali同网段&#xff0c;扫描 靶机在192.168.81.12&#xff0c;扫描端口 存在网站服务&#xff0c;访问&#xff0c;发现访问不到&#xff0c;做一下详细扫描 似乎是提示我们要用域名dc-2&#xff0c;编辑hosts文件…

(附源码)NodeJS社区独居老人健康管理系统-计算机毕设 21353

NodeJS社区独居老人健康管理系统 摘 要 随着科技的进步&#xff0c;信息技术已经深刻地影响了社会的各个领域。计算机的普及已经成为了不可或缺的一部分&#xff0c;它为我们提供了无限的可能性。 该社区独居老人健康管理系统提供了多种功能&#xff0c;包括查看首页、个人中…

【路径规划】移动机器人在未知环境下目标的路径规划算法

摘要 本文提出了一种新的路径规划算法&#xff0c;适用于在未知环境下的移动机器人。算法旨在帮助机器人从起点移动到目标点&#xff0c;同时避开环境中的障碍物。该算法基于势场方法&#xff0c;但解决了传统算法中常见的局部极小值问题&#xff0c;从而提高了路径规划的成功…

在线教育新篇章:SpringBoot系统开发策略

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

实例分割、语义分割和 SAM(Segment Anything Model)

实例分割、语义分割和 SAM&#xff08;Segment Anything Model&#xff09; 都是图像处理中的重要技术&#xff0c;它们的目标是通过分割图像中的不同对象或区域来帮助识别和分析图像&#xff0c;但它们的工作方式和适用场景各有不同。 1. 语义分割&#xff08;Semantic Segme…

红黑树学习

红黑树: k v 方式 用在哪里&#xff1a; 1.hash 强查找的过程&#xff1a; 1.rbtree 2.hash 3.b/b tree 4.链表 红黑树&#xff1a; 1.每个结点是红的或者是黑的 2.根结点是黑的 3.每个叶子结点是黑的 4.如果一个结点是红的&#xff0c;则它的两个儿子是黑的 5.对每个节点&…

lrzsz串口文件传输

此时如果需要传输文件&#xff0c;需要借助rz/sz工具&#xff0c;可以使用的传输协议有ZMODEM、YMODEM、XMODEM&#xff0c;默认是ZMODEM。 https://en.wikipedia.org/wiki/ZMODEM https://gallium.inria.fr/~doligez/zmodem/zmodem.txt 这里记录item2下使用rz/sz进行文件传输…

AI驱动的数据智能化:如何提升企业数据处理效率?

在当今数据驱动的时代&#xff0c;企业需要高效、精准的方式来管理和查询日益增长的业务数据。AI技术在这个过程中发挥着至关重要的作用&#xff0c;它通过自动化、智能化的方式处理数据、构建知识模型、实现查询优化&#xff0c;并将复杂的数据结构直观地呈现出来。本文将通过…

Spring Boot 进阶-详解Spring Boot整合数据库

在Java企业级开发中,不可避免的要对数据进行持久化,我们常见的数据持久化的技术又Mybatis技术、Spring自带的JdbcTemplate以及SpringBoot中的JPA技术。但是无论怎么样的持久化技术,其底层都是离不开数据库的支持。 在刚开始学习Java操作数据库的时候,最长用到的技术就是JDB…

SpringBoot中间件Docker

Docker&#xff08;属于C/S架构软件&#xff09; 简介与概述 1.Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux …

Mysql数据库原理--查询收尾+索引+事务

文章目录 1.查询收尾1.1自查询1.2合并查询 2.索引事务2.1约束自动生成索引2.2create手动添加索引2.3.删除手动创建的索引2.4索引背后的数据结构2.5B树的结构特点和优点--经典面试题 3.事务--经典面试题3.1基本理解3.2事务的特性3.3隔离级别 1.查询收尾 1.1自查询 子查询就是套…

用Python实现运筹学——Day 13: 线性规划的高级应用

一、学习内容 1. 多目标线性规划 多目标线性规划&#xff08;MOLP&#xff09;是线性规划的扩展形式&#xff0c;涉及多个相互冲突的目标函数。这类问题在实际应用中非常普遍&#xff0c;例如在供应链管理中&#xff0c;可能需要同时优化成本、时间、质量等多个目标。由于多个…

MCU8.C51的一些知识补充

由于绝大部分的C语言知识已在C语言学习笔记专栏 点我跳转讲过,本文补充一些没有提到过的(C51标准) 1.C51扩充数据类型 sfr:特殊功能寄存器(special function register) sbit:是特殊功能寄存器(sfr)中的一个位的地址,用于直接定义和访问单个引脚的状态 sfr16:16位特殊功能寄存…

普通程序员如何入手学习大模型(LLM)附学习路线和资源教程

在人工智能&#xff08;AI&#xff09;飞速发展的今天&#xff0c;掌握AI技术已经成为了许多高校研究者和职场人士的必备技能。从深度学习到强化学习&#xff0c;从大模型训练到实际应用&#xff0c;AI技术的广度和深度不断拓展。作为一名AI学习者&#xff0c;面对浩瀚的知识海…