Pandas:如何查找每个子组的组成员类型百分比?

2023-11-27

(问题末尾的数据样本和尝试)

使用这样的数据框:

    Type    Class   Area    Decision
0   A       1       North   Yes
1   B       1       North   Yes
2   C       2       South   No
3   A       3       South   No
4   B       3       South   No
5   C       1       South   No
6   A       2       North   Yes
7   B       3       South   Yes
8   B       1       North   No
9   C       1       East    No
10  C       2       West    Yes 

我怎样才能找到每种类型的百分比[A, B, C, D]属于每个区域的[North, South, East, West]?

期望的输出:

    North   South   East    West
A   0.66    0.33    0       0
B   0.5     0.5     0       0
C   0       0.5     0.25    0.25

到目前为止我最好的尝试是:

df_attempt1= df.groupby(['Area', 'Type'])['Type'].aggregate('count').unstack().T

返回:

Area  East  North  South  West
Type                          
A      NaN    2.0    1.0   NaN
B      NaN    2.0    2.0   NaN
C      1.0    NaN    2.0   1.0

我想我可以通过计算边距中的总和并附加0对于缺失的观察结果,但我真的很感激有关更优雅方法的建议。

感谢您的任何建议!

Code:

import pandas as pd

df = pd.DataFrame(
    {
        "Type": {0: "A", 1: "B", 2: "C", 3: "A", 4: "B", 5: "C", 6: "A", 7: "B", 8: "B", 9: "C", 10: "C"},
        "Class": {0: 1, 1: 1, 2: 2, 3: 3, 4: 3, 5: 1, 6: 2, 7: 3, 8: 1, 9: 1, 10: 2},
        "Area": {0: "North", 1: "North", 2: "South", 3: "South", 4: "South", 5: "South", 6: "North", 7: "South", 8: "North", 9: "East", 10: "West"},
        "Decision": {0: "Yes", 1: "Yes", 2: "No", 3: "No", 4: "No", 5: "No", 6: "Yes", 7: "Yes", 8: "No", 9: "No", 10: "Yes"},
    }
)

dfg = df[['Area', 'Type']].groupby(['Area']).agg('count').unstack()

df_attempt1 = df.groupby(['Area', 'Type'])['Type'].aggregate('count').unstack().T

您可以使用该功能crosstab:

pd.crosstab(index=df['Type'], columns=df['Area'], normalize='index')

Output:

Area  East     North     South  West
Type                                
A     0.00  0.666667  0.333333  0.00
B     0.00  0.500000  0.500000  0.00
C     0.25  0.000000  0.500000  0.25
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas:如何查找每个子组的组成员类型百分比? 的相关文章

  • 一次将Python dict的内容分配给多个变量?

    我想做这样的事情 def f return a 1 b 2 c 3 a b f or a b f IE 这样 a 被分配为 1 b 被分配为 2 并且 c 是未定义的 这与此类似 def f return 1 2 a b f 依赖于变量名称
  • 在python中将文本文件解析为列表

    我对 Python 完全陌生 我正在尝试读取包含单词和数字组合的 txt 文件 我可以很好地读取 txt 文件 但我正在努力将字符串转换为我可以使用的格式 import matplotlib pyplot as plt import num
  • Python BeautifulSoup XML 解析

    我编写了一个简单的脚本来使用 BeautifulSoup 模块解析 XML 聊天日志 标准 soup prettify 工作正常 只是聊天日志中有很多绒毛 您可以在下面看到我正在使用的脚本代码和一些 XML 输入文件 Code import
  • 可以在 TensorFlow 中使用排名相关作为成本函数吗?

    我正在处理偶尔充满异常值的极其嘈杂的数据 因此我主要依靠相关性来衡量我的神经网络的准确性 是否可以明确使用诸如等级相关性 斯皮尔曼相关系数 之类的东西作为我的成本函数 到目前为止 我主要依赖 MSE 作为相关性的代理 我现在面临三个主要障碍
  • PIL Image.size 返回相反的宽度/高度

    使用PIL确定图像的宽度和高度 在特定图像上 幸运的是只有这一个 但这很麻烦 从 image size 返回的宽度 高度是相反的 图片 http storage googleapis com cookila 533ebf752b9d1f7c
  • 如何使用 python urllib 在 HTTP/1.1 中保持活力

    现在我正在这样做 Python3 urllib url someurl headers HOST somehost Connection keep alive Accept Encoding gzip deflate opener urll
  • “char”/“character”类型的类型提示

    char 或 character 没有内置的原始类型 因此显然必须使用长度为 1 的字符串 但是为了暗示这一点并暗示它应该被视为一个字符 如何通过类型提示来实现这一点 grade chr A 一种方法可能是使用内置的 chr 函数来表示这一
  • matplotlib matshow 标签

    我一个月前开始使用 matplotlib 所以我仍在学习 我正在尝试用 matshow 制作热图 我的代码如下 data numpy array a reshape 4 4 cax ax matshow data interpolation
  • 如何在python中检索aws批处理参数值?

    流程 Dynamo DB gt Lambda gt 批处理 如果将角色 arn 插入动态数据库 它是从 lambda 事件中检索的 然后使用submit job角色 arn 的 API 被传递为 parameters role arn ar
  • 获取列表中倒数第二个元素[重复]

    这个问题在这里已经有答案了 我可以通过以下方式获取列表的倒数第二个元素 gt gt gt lst a b c d e f gt gt gt print lst len lst 2 e 有没有比使用更好的方法print lst len lst
  • Python 中的 @staticmethod 与 @classmethod

    方法和方法有什么区别装饰的 https peps python org pep 0318 with staticmethod http docs python org library functions html staticmethod和
  • 如何在Python和Selenium中通过标签名称或id获取元素[重复]

    这个问题在这里已经有答案了 我正在尝试使用 Python 和 Selenium 获取输入 但它向我显示错误 我该如何解决这个错误 inputElement send keys getStock getStocklFunc 0 Error i
  • 在可编辑的QSqlQueryModel中实现setEditStrategy

    这是后续这个问题 https stackoverflow com questions 49752388 editable qtableview of complex sql query 在那里 我们创建了 QSqlQueryModel 的可
  • 如何列出 python PDB 中的当前行?

    在 perl 调试器中 如果重复列出离开当前行的代码段 可以通过输入命令返回到当前行 点 我无法使用 python PDB 模块找到任何类似的东西 如果我list如果我自己离开当前行并想再次查看它 似乎我必须记住当前正在执行的行号 对我来说
  • Django 在选择列表更改时创建毫无意义的迁移

    我正在尝试使用可调用创建一个带有选择字段的模型 以便 Django 在选择列表更改时不会创建迁移 如中所述this https stackoverflow com questions 31788450 stop django from cr
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • 为什么我们应该在 def __init__(self, n) -> None: 中使用 -> ?

    我们为什么要使用 gt in def init self n gt None 我读了以下摘录来自 PEP 484 https www python org dev peps pep 0484 the meaning of annotatio
  • 全局变量是 None 而不是实例 - Python

    我正在处理Python 中的全局变量 代码应该可以正常工作 但是有一个问题 我必须使用全局变量作为类的实例Back 当我运行应用程序时 它说 back is None 这应该不是真的 因为第二行setup 功能 back Back Back
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com

随机推荐

  • Java 中的排出标准错误

    从 Java 启动进程时 如果我不从管道读取数据 stderr 和 stdout 都会阻塞输出 目前 我有一个线程主动从一个线程读取数据 而主线程则在另一个线程上阻塞 有没有一种简单的方法来连接两个流或以其他方式导致子进程继续 同时不丢失
  • delegate.Invoke 如何工作?

    如果我在代码中创建一个委托 例如 delegate void dostuff string o 这会生成一个派生自的类System MulticastDelegate它实现了三种方法 Invoke BeginInvoke and EndIn
  • jQuery:当“dblclick”即将发生时抑制“click”?

    假设我有一个 span 当您单击此跨度时 我想要一个save 功能来开火 当您双击跨度时 我想要一个rename 功能来开火 但是 如果双击跨度 首先click事件将会触发 然后dblclick事件 自从click先于dblclick 我怎
  • Flutter 中的 VoidCallback 是如何工作的?

    我从互联网上了解到的信息是无效回调 是不带参数也不返回任何参数的函数 以下代码来自应用程序 并且该应用程序运行良好 我想问一下使用 VoidCallback 作为type而不是作为function 我是 Flutter 开发的绝对初学者 请
  • _int64 没有命名类型

    In my pch文件我有以下定义 if MSC VER lt 1300 typedef signed char int8 t typedef signed short int16 t typedef signed int int32 t
  • 如何使用javascript调用按钮点击事件背后的代码

    是否可以使用 javascript 或 jquery 调用服务器端按钮单击事件 如果是的话该怎么做 假设这是你的 html
  • 检查浏览器通知是否可用

    我正在处理浏览器通知 因为它不适用于我想签入的每个浏览器JS code 如果可用的话 我查看了 Mozilla 开发者部分 https developer mozilla org en US docs Web API Notificatio
  • JQuery 多个选择器,$(this) 引用?

    鉴于以下 identifier div first idetifier2 fadeOut 300 function I need to reference just the identifier div first element howe
  • 递归计算 DataFrame 值

    我正在尝试 递归 计算 pandas 数据框的列值 假设有两个不同日期的数据 每个日期有 10 个观测值 并且您想要计算某个变量 r 其中仅给出 r 的第一个值 每天 并且您想要计算剩余的 2 9 条目 而每个后续值取决于在 r 的前一个条
  • 如何按第一维对张量进行排序

    我有一个 2D 张量 我想按第一个维度排序 如下例所示 a torch FloatTensor 5 5 5 3 3 5 6 4 3 7 我预计排序后的结果是这样的 a torch FloatTensor 3 5 3 7 5 3 5 5 6
  • 尝试对 var/www/html 使用符号链接

    这就是我想要实现的目标 从中创建符号链接var www html到主目录中的目录 文件夹 我试图在 home 中符号链接到的目录 是一个 git 存储库 如果这有什么区别的话 我在这个目录中有一个index html 文件 我使用以下命令在
  • 如何在 MySQL 中插入大量行?

    例如 如何使用单个查询将 100 000 行插入 MySQL 表中 insert into table values 1 a b 2 c d 3 e f 这将执行 3 行的插入 根据需要继续达到 100 000 在进行 ETL 工作时 我会
  • 使用元类理解 __call__ [重复]

    这个问题在这里已经有答案了 据我了解 call 类中的方法实现了函数调用运算符 例如 class Foo def init self print I m inside the init method def call self print
  • 在Linux Ubuntu下启动时自动运行程序[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 每次启动 Ubuntu Linux 时我都需要运行一个程序 所以我需要将其添加到我的启动程序列表中 只有一个问题 我需要通过终端来完成此操作 sudo mv filename etc
  • 使用 jquery 根据
    标签拆分字符串

    我如何分割包含的字符串 br 使用 jquery 进行标记 我尝试了以下代码 但在控制台中出现错误 我不知道如何根据分割字符串 br 标签 这是我尝试过的代码 jQuery document ready function var lines
  • 如何计算一个数字最接近的 2 或 10 次方?

    计算 2 或 10 与另一个数字最接近的幂的最有效方法是什么 例如 3 5 对于 2 的幂返回 4 对于 10 的幂返回 1 123 将返回 2 的幂 128 和 10 的幂 100 0 24 对于 2 的幂返回 0 25 对于 10 的幂
  • 如何从内核树构建 BPF 程序

    内核提供了许多示例samples bpf 我有兴趣在树之外构建一个示例 就像我们构建一个内核模块一样 其中Makefile可以很简单 是否可以对 bpf 执行相同的操作 我尝试从中删除不必要的部分samples bpf Makefile并保
  • 如何在 Java Web 应用程序中获取服务器名称

    我有一个 Web 应用程序 用户将其部署在自己的 Java Web 服务器 例如 Tomcat 上 Web 应用程序的 Java 端需要报告 Web 应用程序本身的 URL 例如http aServer com 8080 MyApp or
  • 计算 PowerShell 中的字符数、单词数和行数

    在 Linux 中 我们有 wc 命令 它允许我们计算文件中的字符数 单词数和行数 但是我们在 PowerShell 中是否有类似的 cmdlet 我尝试的 Measure Object cmdlet 只能计算行数 而不能计算字符和单词数
  • Pandas:如何查找每个子组的组成员类型百分比?

    问题末尾的数据样本和尝试 使用这样的数据框 Type Class Area Decision 0 A 1 North Yes 1 B 1 North Yes 2 C 2 South No 3 A 3 South No 4 B 3 South