计算唯一组合的数量,无论列顺序如何

2024-06-30

我有两列类别,两列中都显示相同的可能选项,并且我希望计算每个唯一组合的行数,无论每行(A 列或 B 列)中类别的顺序如何。

示例数据框:

df1 = pd.DataFrame({'A':['dog','cat','mouse','bunny','cat','mouse','dog'],
                   'B':['cat','dog','dog','mouse','bunny','bunny','cat']})

看起来像:

----------------------------
index         A        B
0           dog       cat
1           cat       dog
2           mouse     dog
3           bunny     mouse
4           cat       bunny
5           mouse     bunny
6           dog       cat
-----------------------------

我希望结果看起来像:

--------------------------------------
index         A        B        count
0           dog       cat       3
1           bunny     mouse     2
2           mouse     dog       1
3           cat       bunny     1
--------------------------------------

我可以得到组合的计数,其中狗/猫与猫/狗分开计数,但我正在努力解决如何获取计数,无论哪个类别是第一个。


另一种解决方案,使用.groupby:

x = (
    df1.groupby(df1.apply(lambda x: tuple(sorted(x)), axis=1))
    .agg(A=("A", "first"), B=("B", "first"), count=("B", "size"))
    .reset_index(drop=True)
)
print(x)

Prints:

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

计算唯一组合的数量,无论列顺序如何 的相关文章

  • Scikit-learn 中的 GridSearchCV 输出问题

    我想执行超参数搜索以在 sklearn 中选择预处理步骤和模型 如下所示 pipeline Pipeline combiner PolynomialFeatures dimred PCA classifier RandomForestCla
  • 如何在 pywebview 中使无框窗口可拖动?

    我最近一直在使用 pywebview 和 Flask 来开发桌面应用程序 我想使用无框窗口功能并创建自己的标题栏 但问题是我不知道如何使该无框窗口可拖动 文档说它可以通过拖动任何点来移动 但对我来说情况并非如此 有任何想法吗 拖动区域 ht
  • 使用 pip freeze 安装 numpy

    I need to install Numpy version 1 17 1 but every time it just freezes I have now tried multiple times and I have been wa
  • 贝塞尔曲线python的递归函数

    我被要求设计一个名为 Bezier 的递归函数 其参数是给定点的列表 以及必须评估的点 它返回贝塞尔曲线中由点列表的控制点定义的点 这是我所做的算法 def Bezier point list t if len point list 1 r
  • 启动robotframework-RIDE(机器人框架IDE)时出错

    我已经安装了Robot Framework并安装了wxPython 然后安装了Ride 当我通过执行启动它时python ride py 它会遇到如下错误 我相信这与wxPython版本有关 不确定 有一系列UnreprError像这样
  • 从 C# 运行多个 python 脚本

    我希望有人能够在这里帮助我 我对 C 比较陌生 正在尝试执行我在 C winform 应用程序中编写的一些 Python 代码 我想做的是从 winform 中的文本框中输入名称 并让它通过 python 脚本进行处理 并在 winform
  • Python,将 mongodump 的 bson 输出转换为 json 对象数组(字典)

    我已经使用转储了 mongodb 集合mongodump命令 输出是一个转储目录 其中包含以下文件 dump coll bson coll metadata json 如何将导出的文件打开到在 python 中工作的字典数组中 我尝试了以下
  • 使用具有阿拉伯字符的 json.dumps 将字典转换为 json [重复]

    这个问题在这里已经有答案了 我有一本包含阿拉伯语单词的字典 例如 data name name print json dumps data file open data json a encoding utf 8 Output name u
  • 在Python中使用argparse解析整个JSON

    我正在尝试使用 ARGPARSE 库在一个简单的参数中解析整个 Json 问题是当它遇到儿子内部的不同元素 例如 和 时 它会突然停止 这是测试代码 parse py import argparse parser argparse Argu
  • 从 pexpect 中提取 stderr

    我的问题很简单 我可以吗 expect 使用 pexpect 查看 stderr 上的某些输出 它似乎pexpect spawn 只能用于期望 stdout 上的输出 乌托邦的例子 import pexpect child pexpect
  • 在 Python 中获取连接的 VPN 名称

    我正在尝试检索已连接的 VPN 的名称 我运行的是 Fedora 23 因此连接在 etc NetworkManager system connections 中得到了很好的枚举 其中一个文件列出了 VPN 配置的每个参数 包括我要查找的
  • 从图像中读取文本

    关于将这些图像转换为文本有什么建议吗 我正在使用 pytesseract 除了这个之外 它在大多数情况下都工作得很好 理想情况下 我会准确地读取这些数字 最坏的情况我可以尝试使用 PIL 来确定 左边的数字是否为零 从左边开始 找到第一个白
  • ModuleNotFoundError:没有名为“discord_slash”的模块[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 I m trying to install a module called discord slash https py
  • 使用 itertools.product 并想要播种一个值

    所以我写了一个小脚本来从网站下载图片 它通过 7 个字母字符值 其中第一个字符始终是数字 问题是 如果我想停止脚本并再次启动它 我必须从头开始 我可以用我得到的最后一个值以某种方式播种 itertools product 吗 这样我就不必再
  • Python:控制超时长度

    我在脚本中运行了类似于以下的代码 try s ftplib FTP xxx xxx xxx xxx username password except print Could not contact FTP serer sys exit 如果
  • 多处理和美好价值

    有谁知道在多处理中创建进程或池时设置进程或池的良好值的简单方法 os nice increment Add increment to the process s niceness Return the new niceness Availa
  • 模拟 default=timezone.now 进行单元测试

    我正在尝试为执行大量日期时间操作的 django 应用程序编写单元测试 我已经安装了mock http www voidspace org uk python mock 给 django 打猴子补丁timezone now为了我的测试 虽然
  • Python pandas 使用 read_hdf 和 HDFStore.select 从 HDF5 文件读取特定值

    所以我使用一个简单的数据集创建了 hdf5 文件 如下所示 gt gt gt pd read hdf STORAGE2 h5 table A B 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 使用这个脚本 import pan
  • 与 Pandas DataFrame 列表列的比较

    我有一个像这样的数据框 df col1 col2 a 1 2 b 3 4 c 3 9 我想根据匹配的输入数组获取行 因此如果我有数组 1 2 我可以获得 col1 col2 a 1 2 当我尝试使用此公式执行此操作时 它不起作用 df lo
  • 为什么 a.insert(0,0) 比 a[0:0]=[0] 慢很多?

    使用列表的insert函数比使用切片分配实现相同效果要慢得多 gt python m timeit n 100000 s a a insert 0 0 100000 loops best of 5 19 2 usec per loop gt

随机推荐

  • 为什么要使用 XML 解析器?

    I m a somewhat经验丰富的 PHP 脚本编写者 但是我只是专注于解析 XML 和所有这些好东西 我似乎无法理解为什么人们会使用单独的 XML 解析器而不是仅仅使用explode函数 看起来就这么简单 这是我一直在做的事情 假设路
  • 如何动态配置@ComponentScan?

    ComponentScan CS1 basePackages com package A com package B excludeFilters ComponentScan Filter type FilterType ASSIGNABL
  • DockPanel Suite - DockContent 可见性

    表单包含一个带有 DockContent 实例的 DockPanel 该实例具有 DockState DockState DockBottomAutoHide 并且它充当记录器视图 就像 Visual Studio 的错误列表面板 因此 当
  • 与 iOS 7.1 持续集成 - 无法安装服务器上链接的产品

    我们已经使用 Xcode 5 0 运行 CI 一段时间了 没有出现任何问题 现在iOS 7 1已经发布了 似乎安装了CI生产的产品你需要使用 https https stackoverflow com questions 20276907
  • PDB 与图像不匹配错误

    我正在尝试对开源项目 npp community 进行一些添加 但似乎无法调试 我尝试调试的代码被编译成 dll 然后链接到主项目 设置断点时出现以下错误 当前不会命中断点 尚未为此文档加载任何符号 当我检查下面的模块时debug gt w
  • 错误:找不到与给定名称匹配的资源(在“icon”处,值为“@drawable/icon”)

    错误 找不到与给定名称匹配的资源 在 icon 处 值为 drawable icon 这是我的清单 我对此非常陌生 今天早上才开始 以前没有编程经验
  • 从 MySql 迁移到 Sql Server 2008

    我有大约 200 GB 的 Mysql 转储文件 现在我需要迁移到 Sql server 2008 那么我应该遵循什么方法 我应该继续逐行 sql 语句还是有任何适合我的要求的 GUI 工具 微软 SQL Server 迁移 Assista
  • Jquery,当屏幕宽度为1050px时删除类

    这是我正在使用的JS代码 document ready function var nav menu2 window scroll function if this scrollTop gt 90 nav addClass f nav els
  • Excel VBA:导入日期为 dd/mm/yyyy 的 CSV

    我知道这是一个相当常见的问题 但我尚未找到可靠的解决方案 我的数据位于 csv 文件中 第一列格式为 dd mm yyyy 当我使用 Workbooks OpenText 打开它时 它默认为 mm dd yyyy 直到它发现它认为的月份超过
  • 引用未初始化的对象

    在解释问题之前 我想指出我知道给定的示例是糟糕的代码 我已经在看std shared ptr以更合理的方式实现我的目标 写这篇文章的原因只是我的好奇心和学习新东西的愿望 预先感谢您的帮助 今天我的解析器代码有点混乱 优化的东西等等 我专注于
  • 如何将-webkit-gradient应用到IE上?

    我有以下 CSS 代码 webkit gradient linear left bottom left top from 5AE to 036 Chrome 中的背景显示效果非常好 Internet Explorer 仅显示白色背景 我尝试
  • 如何将 GenericArray 转换为相同长度的数组?

    我正在计算给定数据的 SHA256 let hashvalue sha2 Sha256 digest data 计算后 我想将该值放入结构的一个字段中 let x Hash value hashvalue 但是 那Hashstruct 需要
  • 编辑项目后使用 ArrayAdapter 刷新 ListView

    我有一个 ListView 它显示使用 ArrayAdapter 从 SQLiteDatabase 中的表中获取的注释列表 public class NotepadActivity extends ListActivity protecte
  • 我们可以为使用时间线的 htmlPages 属性形成的卡片提供不同的菜单项吗?

    我正在使用timeline html 作为封面页创建一个捆绑包 并使用timeline htmlPages 属性提供其他子页面 我希望封面页和每个子页都有不同的菜单项 目前我没有看到任何方法为每个 htmlPage 和 或封面页提供一个 m
  • PHP“按引用分配”的奇怪现象

    我发现了一个代码片段 其中包括 a b 但没有测试 b 是否确实存在 if isset b 我不确定 PHP 是如何处理这个问题的 所以我进行了一个快速的裸测试 现在我更加感兴趣了 a array a gt b x gt y b array
  • jmeter中如何将一个http请求的参数发送到另一个http请求

    我想使用 JMeter 测试 Web 应用程序 我想知道如何将参数从一个http请求传输到另一个http请求 我的网络应用程序有一个登录页面 我已经发送了我的用户名和密码 我在这方面遇到了问题 在jmeter中测试登录 通过文本或csv文件
  • 自定义AWS ElasticBeanstalk NodeJS安装(使用yarn)

    是否可以配置 EBS 使用纱线包管理器而不是 NPM 安装我的 Node JS 应用程序 我已经找到了一个方法 但是有点hacky 创建一个 ebextensions yarn config file 名称不必是 yarn 将此内容放入文件
  • 发送到自定义接收器应用程序的对象是否有大小限制?

    我试图将一个大小合适的对象传递给我的自定义接收器应用程序 但它似乎从未成功 如果我采用一个较小的对象并对其进行 JSON stringify 那么它似乎可以工作 但无论我是否对父对象进行字符串化 发送似乎都不起作用 发件人应用程序 sess
  • 如何使用 WinRAR 制作自安装可执行文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我见过可执行文件可以自行解压并运行压缩文件setup exe之后 双击文件将其解压缩 然后运行之前压缩的文件setup exe 我怎样才能
  • 计算唯一组合的数量,无论列顺序如何

    我有两列类别 两列中都显示相同的可能选项 并且我希望计算每个唯一组合的行数 无论每行 A 列或 B 列 中类别的顺序如何 示例数据框 df1 pd DataFrame A dog cat mouse bunny cat mouse dog