python - 如何在 pandas/numpy 中制作百分比矩阵?
问题描述
我正在努力在 pandas/NumPy 中获得类似矩阵数据框的东西。
我有以下数据框
价值 | 资源 | 放置 | 第一的 |
---|---|---|---|
一个 | GooFeed | 1 | GooFeed |
一个 | 网络网络 | 2 | GooFeed |
一个 | GooFeed | 3 | GooFeed |
乙 | 网络网络 | 1 | 网络网络 |
乙 | GooFeed | 2 | 网络网络 |
C | 哇喂 | 1 | 哇喂 |
C | 哇喂 | 2 | 哇喂 |
C | 网络网络 | 3 | 哇喂 |
C | GooFeed | 4 | 哇喂 |
C | 网络网络 | 5 | 哇喂 |
D | GooFeed | 1 | GooFeed |
我想要实现的是具有彼此数据的提要的百分比。Placement 中带有 1 的提要首先获得数据(值 A)。有时,相同的值会出现在多个数据馈送中,来自同一馈送的多个展示位置也会出现在一个值上,例如值 C 和 CyberCyber。但是这些值应该是唯一的,不能算作 WowFeed 数据的 2 倍。
我在一个单独的数据框中计算了总值,如下所示:
资源 | 第一 | TotalDistinctValues | 第一来源 |
---|---|---|---|
GooFeed | 2 | 4 | {'CyberCyber':1;'WowFeed':1} |
网络网络 | 1 | 3 | {'GooFeed':1;'WowFeed':1} |
哇喂 | 1 | 1 |
我正在寻找的矩阵如下:
资源 | GooFeed | 网络网络 | 哇喂 | 全部的 |
---|---|---|---|---|
GooFeed | 25% | 25% | 50% | |
网络网络 | 33% | 33% | 66% | |
哇喂 | ||||
平均 | 33% | 25% | 58% |
不包括匹配自身的值源的列值的平均值(底行)。就像 GooFeed 的 GooFeed。
Total(右边的外行)应该是它自己的不同值的总和。
我真的不知道这应该如何工作。我是否可以在 pandas/NumPy 中尝试它?
我很高兴每一次帮助。
此致
莫里斯
解决方案
推荐阅读
- php - PHP ODBC 从 mssql 获取西里尔字符
- javascript - 创建最喜欢的水果对象数组
- amazon-web-services - 通过 Athena 在 S3 中查询 CSV 文件会抛出 403 Erroe Access Denied
- c# - 将多个数组保存到数据库 asp.net
- excel - 在 Excel 中使用 Datetime 格式(包括毫秒)进行计算
- javascript - 使用 RegExp exec Javascript 从字符串中提取数字和文本
- sql-server - 如何将 SQL Server 备份从一台服务器备份到另一台服务器
- python - 如何获取特定数据框行的列值
- sql - 加入子表中的前 n 条记录
- dataweave - 如何跨有效负载获取 sizeOf() 数组