从两列创建一个矩阵

2023-12-29

我正在尝试从 Excel 工作表中的两列创建一个矩阵。第一列是具有多个重复实例的键,第二列引用与该键相关的不同值。我希望能够创建第二列中所有值的矩阵,以引用它们针对所有关键实例配对在一起的次数。

   a                b
   1               red
   1               blue
   1               green
   2               yellow
   2               red
   3               blue
   3               green
   3               yellow

我想把这个示例数据框变成

color      red   blue   yellow   green
red         0      1       1       1
blue        1      0       1       2
yellow      1      1       0       1
green       1      2       1       0 

本质上使用 a 列作为 groupby() 来分段每个键,然后对遇到的关系进行计数作为运行计数。不太清楚如何实现数据透视表或交叉表来完成此任务(如果这是最好的路线)。


Use how='cross'作为参数pd.merge。我假设你没有像两个(1,红色)这样的('a','b')重复项。

out = (
  pd.merge(df, df, how='cross').query('a_x == a_y & b_x != b_y')[['b_x', 'b_y']] \
    .assign(dummy=1).pivot_table('dummy', 'b_x', 'b_y', 'count', fill_value=0) \
    .rename_axis(index=None, columns=None)
)
print(out)

# Output:
        blue  green  red  yellow
blue       0      2    1       1
green      2      0    1       1
red        1      1    0       1
yellow     1      1    1       0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从两列创建一个矩阵 的相关文章

  • UnicodeDecodeError:“utf-8”编解码器无法解码位置 14 中的字节 0xb9:起始字节无效

    我正在使用 Django REST 进行文件上传测试 Python3 6 2Django1 11djangorest框架 3 6 4Excel OSX 15 38 170902 操作系统 10 12 6 过去使用普通照片文件可以成功完成此操
  • 测试交互式Python程序

    我想知道python的哪些测试工具支持交互式程序的测试 例如 我有一个由以下人员启动的应用程序 python dummy program py gt gt Hi whats your name Joseph 我想要仪器Joseph所以我可以
  • 从 Django 基于类的视图的 form_valid 方法调用特殊(非 HTTP)URL

    如果你这样做的话 有一个 HTML 技巧 a href New SMS Message a 点击新短信打开手机的本机短信应用程序并预 先填写To包含所提供号码的字段 在本例中为 1 408 555 1212 以及body与提供的消息 Hel
  • Scrapy Splash,如何处理onclick?

    我正在尝试抓取以下内容 我能够收到响应 但我不知道如何访问以下项目的内部数据以抓取它 我注意到访问这些项目实际上是由 JavaScript 和分页处理的 这种情况我该怎么办 下面是我的代码 import scrapy from scrapy
  • Django 说“id 可能不为 NULL”,但为什么会这样呢?

    我今天要疯了 我只是尝试插入一条新记录 但它返回了 post blogpost id 可能不为 NULL 错误 这是我的模型 class BlogPost models Model title models CharField max le
  • Python ElementTree 获取带有命名空间的属性

    我试图访问 XML 中的 def 所以在这个例子中我会得到Evolus Common PlainTextV2作为输出 我似乎无法弄清楚如何获取具有名称空间的属性 如果我想得到id它工作得很好 Python for content ns in
  • 检查列表是否已排序的 Pythonic 方法

    有没有一种Python式的方法来检查列表是否已经排序ASC or DESC listtimestamps 1 2 3 5 6 7 就像是isttimestamps isSorted 返回True or False 我想输入一些消息的时间戳列
  • 多个列表和大小的所有可能排列

    在 python 中使用以下命令很容易计算简单的排列itertools permutations https docs python org 3 library itertools html itertools permutations 你
  • Scapy:如何将新层(802.1q)插入现有数据包?

    我有一个数据包转储 想要将 VLAN 标记 802 1q 标头 注入到数据包中 怎么做 为了找到答案 我查看了Scapy 插入新层和记录问题 https stackoverflow com q 17259592 1381638 这确实很有帮
  • python lxml 使用iterparse编辑并输出xml

    我已经在 lxml 库上摆弄了一段时间了 也许我没有正确理解它 或者我错过了一些东西 但我似乎无法弄清楚在捕获某个 xpath 后如何编辑文件并且然后能够在逐个元素解析时将其写回到 xml 中 假设我们有这个 xml 作为示例
  • 使用 os.forkpty() 创建一个伪终端以 ssh 到远程服务器并与其通信

    我正在尝试编写一个 python 脚本 它可以 ssh 到远程服务器 并可以从 python 客户端执行 ls cd 等简单命令 但是 在成功 ssh 到服务器后 我无法读取伪终端的输出 任何人都可以在这里帮助我 以便我可以在服务器上执行一
  • Python Tkinter 网格复选框

    我想知道是否有一种简单的方法可以使用 Tkinter 创建复选框网格 我正在尝试制作一个由 10 行和 10 列 即 100 个复选框 组成的网格 以便每行只能选择两个复选框 编辑 我正在使用带有spyder的python 2 7 到目前为
  • 如何在python中访问矩阵每个元素的相邻单元格?

    这里 如果两个单元共享边界 则它们被认为是相邻的 例如 A 5 6 4 2 1 3 7 9 8 这里 索引 0 0 的相邻元素位于索引 0 1 和 1 0 处 索引 1 1 的相邻元素位于索引 0 1 1 0 2 1 处 和 1 2 假设你
  • 在 Python 中将嵌套字典位置作为参数传递

    如果我有一个嵌套字典 我可以通过索引来获取键 如下所示 gt gt gt d a b c gt gt gt d a b c 我可以将该索引作为函数参数传递吗 def get nested value d path a b return d
  • 向结构化 numpy 数组添加字段

    将字段添加到结构化 numpy 数组的最简洁方法是什么 是否可以破坏性地完成 或者是否有必要创建一个新数组并复制现有字段 每个字段的内容是否连续存储在内存中 以便可以有效地完成此类复制 如果您使用 numpy 1 3 还有 numpy li
  • Django:显示管理员验证错误的自定义错误消息

    我正在使用 Django 1 2 4 我有一个模型 其中有一个需要验证的字段 当验证失败时 我想向用户显示自定义错误消息 模型编辑是在管理界面中完成的 这就是我目前正在做的事情 def clean fields self exclude N
  • 访问影子 DOM 中的元素

    是否有可能查找 Shadow DOM 中的元素与蟒蛇硒 示例用例 我有这个input with type date
  • 重写 PyGObject 中的虚拟方法

    我正在尝试实施高宽几何管理 http developer gnome org gtk3 3 2 GtkWidget html geometry management在 GTK 和 Python 中用于我的自定义小部件 我的小部件是来自的子类
  • 如何从 python 中的字符串中删除 ANSI 转义序列

    这是包含我的字符串的片段 ls r n x1b 00m x1b 01 31mexamplefile zip x1b 00m r n x1b 01 31m 该字符串是从我执行的 SSH 命令返回的 我无法使用当前状态下的字符串 因为它包含 A
  • 具有重复值的 Sqlite 列

    就说专栏吧aSQLite 数据库的非常重复 始终有相同的 4 个值 其他值可能稍后出现 但不同值的数量将少于 1000 个 VALUES hello world it s a shame to store this str many tim

随机推荐

  • 在 Python 中编译正则表达式

    我正在阅读 Doug Hellman 的 Python 标准库示例 并发现了这一点 1 3 2 编译表达式 re 包含用于将正则表达式作为文本字符串处理的模块级函数 但更有效的是compile程序经常使用的表达式 我无法理解他对为什么会出现
  • 当单选按钮在 Jquery mobile 中处于活动状态时,单选按钮上有不同的颜色

    我有三个单选按钮 它们在 jquery 中具有相同的主题 如果我选择其中之一 按钮的颜色将更改为 css 中的 ui btn active 类中指定的颜色 我的单选按钮名为 可以见面 不确定 和 拒绝 我希望 拒绝 单选按钮在被选中时具有与
  • 将整个页面替换为 ajax 加载页面的内容

    我正在使用 JQuery 并且试图找到一种用 ajax 加载的内容替换整个页面的方法 我找到了建议如何从加载页面执行此操作的答案 但如果可能的话 我想从加载页面执行此操作 我有一个使用大量 ajax 调用的网络应用程序 问题是 如果用户在这
  • 高斯曲线拟合算法

    各位 我一直在尝试获得一些数据集的高斯拟合 这些数据集在某种程度上看起来像扭曲的正态分布 我一直在使用软件来做到这一点 我想知道是否可以应用迭代算法将这些数据集转换为高斯拟合曲线 原始曲线的标准差和平均值作为输入 有任何想法吗 计算数据的平
  • 查找未设置该属性的Neo4j节点

    使用Cypher 如何找到不存在属性的节点 例如我有两个节点 A foo true name A B name B 现在我想找B 在没有的基础上选择它foo属性集 我怎样才能做到这一点 正如迈克尔 饥饿提到的 MATCH n WHERE N
  • HTTP 中的“406-不可接受的响应”是什么?

    在我的 Ruby on Rails 应用程序中 我尝试通过 POSTMAN 上传图像REST http en wikipedia org wiki Representational State Transfer客户在Base64 http
  • 为什么在 docker 中拉取镜像时出现此错误

    我尝试使用以下方法提取图像 docker pull ghcr io linuxserver nextcloud latest 但我收到此错误消息 来自守护进程的错误响应 获取 https ghcr io v2 拨打 tcp 在 1 53 上
  • 将条纹样式添加到项目列表

    使用 KnockoutJS 对列表进行条带化的最佳方法是什么 下面的 div 上的类应该是偶数或奇数 具体取决于它在列表中的位置 并在添加或删除项目时更新 div class Headlines loader div
  • Xamarin 的 Genymotion Android 模拟器

    我在使用 Genymotion Android 模拟器进行 xamarin 开发时遇到问题 我已经安装了 Genymotion 桌面应用程序和其中的几个 Android 设备 每当我通过 Genymotion 桌面应用程序运行任何已安装的设
  • 原型混乱:父原型属性受子原型影响

    我正在读一本关于 OOP javascript 的书 并被其中一个示例困住了 在示例代码的第一个版本中 一个新实例Shape构造函数被创建并且toString方法被调用 这toString方法返回 三角形 这是name的财产Triangle
  • 为什么 write.csv 和 read.csv 不一致? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Android 中手动重新排序 ListView?

    我在 Android 中有一个 ListView 需要能够手动重新排序 Android 的音乐播放器应用程序就是一个示例 您可以更改播放列表中曲目的顺序 我知道如何以编程方式更改 ListView 的顺序 但不知道如何在音乐播放器应用程序中
  • 如何发送PDF文件到前端?

    我的系统上有一个保存的 PDF 文件 我正在尝试使用 node express 将文件发送到前端 我正在将文件作为流 二进制字符串 发送到前端 但是当在前端运行一些代码以将 PDF 下载到用户计算机上时 PDF 文件显示为空白 这是我在服务
  • 在 Spark 中对多个 DataFrame 执行 join

    我有 3 个由 3 个不同进程生成的数据帧 每个数据框都有相同名称的列 我的数据框看起来像这样 id val1 val2 val3 val4 1 null null null null 2 A2 A21 A31 A41 id val1 va
  • 如何在 postgres 数据库上切换两个 ID [PK]?

    我想更改 Postgres 上两行的 ID 以切换它们 它们已经被定义为外键 所以我不能使用第三个数字来进行切换 如何在一个 SQL 查询或事务中执行此操作 Example UPDATE mytable SET id 2 WHERE ID
  • DateTime.AddDays() 未按预期工作

    我有这个简单的程序 DateTime aux new DateTime 2012 6 12 12 24 0 DateTime aux2 new DateTime 2012 6 12 13 24 0 aux2 AddDays 1 Consol
  • 在 Rails cookie 中存储/检索值

    我创建了一个 SessionHelper 模块 它看起来或多或少像这样 module SessionHelper def create cookie cookies signed token value gt expires gt 1 ho
  • 将面向铁路的故障跟踪转换为 Rx 友好错误

    我正在使用一个库 它将结果作为双轨值 成功和失败 Observable map函数体我经常从函数的成功跟踪中得到可观察的结果 但我不知道如何处理它们 在Observable map body 换句话说 我经常陷入结果如下所示的情况 当然这是
  • 跨 gridspec 子图/轴共享 xlabel(部分行)

    我在三个子图上共享一个居中的 xlabel 时遇到一些间歇性问题 这三个子图 1 仅跨越 gridspec 行的一部分 2 其相对于彼此的宽度可能会有所不同 使用docs https matplotlib org stable tutori
  • 从两列创建一个矩阵

    我正在尝试从 Excel 工作表中的两列创建一个矩阵 第一列是具有多个重复实例的键 第二列引用与该键相关的不同值 我希望能够创建第二列中所有值的矩阵 以引用它们针对所有关键实例配对在一起的次数 a b 1 red 1 blue 1 gree