创建一个新列,作为 pandas DataFrame 中行的频率

2024-03-29

我需要一个新专栏C其中每个值是其他两列中的值出现的频率A and B一起出现在数据中。

    A   B   C
0   7   9   2
1   7   2   2
2   1   9   3
3   4   8   1
4   9   1   1
5   6   4   1
6   7   2   2
7   7   9   2
8   1   9   3
9   1   9   3

我尝试根据值计数制作字典,如下所示:

import pandas as pd
import numpy as np

df = pd.DataFrame({
   'A': np.random.randint(1, 10, 100),
   'B': np.random.randint(1, 10, 100)
})

mapper = df.value_counts().to_dict()

然后我将每一行转换为一个元组,并通过 pandas 的 apply 函数中的字典将其反馈:

df['C'] = df.apply(lambda x: mapper[tuple(x)], axis=1)

这个解决方案似乎可能(a)不正确或(b)效率低下,我想知道是否有更好的方法来解决它。


df['C2'] = df.groupby(['A','B'])['B'].transform('count')
df
    A   B   C2
0   7   9   2
1   7   2   2
2   1   9   3
3   4   8   1
4   9   1   1
5   6   4   1
6   7   2   2
7   7   9   2
8   1   9   3
9   1   9   3

用于解决方案的数据

data={'A': {0: 7, 1: 7, 2: 1, 3: 4, 4: 9, 5: 6, 6: 7, 7: 7, 8: 1, 9: 1},
 'B': {0: 9, 1: 2, 2: 9, 3: 8, 4: 1, 5: 4, 6: 2, 7: 9, 8: 9, 9: 9}}
df=pd.DataFrame(data)
df

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

创建一个新列,作为 pandas DataFrame 中行的频率 的相关文章

随机推荐

  • 如何在 LWUIT 选项卡上显示表单屏幕?

    我在表单上有列表项 当用户单击选项卡时 我必须在选项卡上显示该表单 之后如何将该表单添加到选项卡form show 或者之前 我需要使用表单屏幕默认显示第一个选项卡 您可以在选项卡中显示表单 形式也是一个组件 Form frmObj new
  • 设置 Text().frame(maxWidth: .infinity) 后如何保持 Text 作为前导对齐

    这可能是一个简单的案例 但我找不到解决方案 这是我的代码 使用 GeometryReader 设置 SwiftUI 视图大小的相对布局 如 Image 问题出现在最后一个VStack上 我希望文本的背景转到VStack的右端 因此 我将其设
  • OG:类型文章与网站,用于非文章的单个网页

    我正在寻求有关 og type 文章与网站对于单个网页的使用的澄清 该网页在技术上不是 文章 但也不代表整个网站 文档似乎矛盾 From https developers facebook com docs opengraphprotoco
  • 使用正则表达式从内容中删除 HTML 注释 [重复]

    这个问题在这里已经有答案了 我正在将页面内容放入变量中 content 我需要使用正则表达式从 content 中删除 HTML 注释 我尝试了以下代码 它无法正常工作 content preg replace content 看起来你错过
  • 清理 React Hooks 中未安装组件的内存泄漏

    我是 React 的新手 所以这可能很容易实现 但即使我做了一些研究 我自己也无法弄清楚 如果这太愚蠢了 请原谅我 Context 我在用着惯性 js https inertiajs com 使用 Laravel 后端 和 React 前端
  • mysql 命令超时错误

    我正在使用 asp net mvc 将数据库从 SQL Server 2005 转换为 MySQL 我在 SQL Server 中有大量数据 400k 记录 但我面临命令超时 等待CommandTimeout错误 当我在 Google 上搜
  • 如何让JNLP下载正确版本的JavaFX 2?

    JavaFX 2 高度依赖本机代码 对于我的桌面应用程序 我想为每个受支持的操作系统选择最匹配的 JavaFX 风格 以使目标系统上的安装尽可能轻松 由于 JavaFX 2 附带了几个 Ant 任务来帮助部署 我认为这是可行的方法 但我似乎
  • 如何获取点击时的CSS悬停值?

    对此进行后续跟进question https stackoverflow com questions 7265418 how can i unbind the hover opacity effect of a text link when
  • 从地图中删除 google.maps.marker.AdvancedMarkerView

    我有一张地图 它根据搜索填充标记 我正在尝试使用较新的谷歌地图功能AdvancedMarkerView所以我可以用自定义 HTML 填充它 但是 随着我的搜索更新 我想刷新旧标记并在需要时放置新标记 但我一生都无法弄清楚如何做 https
  • 如何使用 Swift 和 MacOS 隐藏顶部栏(带按钮)?

    我试图从窗口中删除标题和顶部按钮 基本上只显示内容 我尝试过各种方法但没有成功 也没有任何明显的原因说明它不起作用 有关我尝试过的选项 请参阅 setVisibility 函数 AppDelegate swift import Cocoa
  • 可以在 JSON 对象中使用尾随逗号吗?

    手动生成 JSON 对象或数组时 在对象或数组的最后一项上留下尾随逗号通常更容易 例如 从字符串数组输出的代码可能如下所示 在类似 C 的伪代码中 s append for i 0 i lt 5 i s appendF d i s appe
  • 在 C++ 中,当用 ctrl-c 中断时,在死亡之前调用带参数(信号号除外)的函数

    我想在程序终止之前用 ctrl c 中断时向文件中写入几行 然而 文件的位置不是硬编码的 所以我需要比正常中断处理更多的东西正如这里所解释的 https stackoverflow com questions 1641182 how can
  • 我可以使用逻辑索引或索引列表对张量进行切片吗?

    我正在尝试使用列上的逻辑索引对 PyTorch 张量进行切片 我想要与索引向量中的 1 值相对应的列 切片和逻辑索引都是可能的 但是它们可以一起吗 如果是这样 怎么办 我的尝试不断抛出无用的错误 类型错误 使用 ByteTensor 类型的
  • 跨域 bean 验证 - 为什么你不工作

    我的应用程序遇到了一点问题 我想检查字段密码和确认密码是否匹配 所以我尝试像这个问题的第一个答案中那样进行操作 使用 Hibernate Validator JSR 303 进行跨领域验证 https stackoverflow com q
  • 使用 boost::asio::streambuf 的代码会导致段错误

    我在使用 asio streambuf 时遇到了问题 希望有人能告诉我我是否错误地使用了该类 当我运行此示例代码时 它出现段错误 为什么 更令人困惑的是 这段代码可以在 Windows Visual Studio 2008 上运行 但不能在
  • jquery validate 1.8.1“jQuery”未定义错误IE8

    首先 是的 jQuery 在验证插件或任何其他 js 文件之前加载 获取 jQuery 未定义 IE8 中的 jquery validate 1 8 1 min js 第 13 行字符 1 FF Chrome 和 Safari 都可以完美地
  • Swing 应用程序的丰富日历组件[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的公司正在向 Swing 应用程序添加一些丰富的日历功能 我们希望它像 Outlook 日历一样工作 以下是我们的一些要求 日 周和月的
  • Android SQLite 按名称搜索

    我从这里举了一个在 Android 中使用 SQLite 的示例 http www cnblogs com pangblog p 3327696 html http www cnblogs com pangblog p 3327696 ht
  • Expression.Lambda 和运行时查询生成,嵌套属性“Where”示例

    我在有关为Where查询构建表达式树的问题上找到了非常好的答案 Expression Lambda 和运行时的查询生成 最简单的 Where 示例 https stackoverflow com questions 8315819 expr
  • 创建一个新列,作为 pandas DataFrame 中行的频率

    我需要一个新专栏C其中每个值是其他两列中的值出现的频率A and B一起出现在数据中 A B C 0 7 9 2 1 7 2 2 2 1 9 3 3 4 8 1 4 9 1 1 5 6 4 1 6 7 2 2 7 7 9 2 8 1 9 3