python - 数据框唯一项目和 xy 位置到室友(共享位置)项目网格
问题描述
我的数据框看起来像这个例子,
其中 id 是唯一的,但 ids 可以共享位置,例如 id 1 和 2 共享 0,0 单元格
| id | x | y |
-----------------------
1| 1 | 0 | 0 |
2| 2 | 0 | 0 |
3| 3 | 1 | 2 |
4| 4 | 1 | 0 |
.
.
我想获得室友的数据框,例如:
其中索引和列是根据 id 和值是 1 如果共享单元格和 0 否则
| 1 | 2 | 3 | 4 | ...
---------------------------
1| 0 | 1 | 0 | 0 |
2| 1 | 0 | 0 | 0 |
3| 0 | 0 | 0 | 0 |
4| 0 | 0 | 0 | 0 |
.
.
因为这是大数据框,所以需要对函数进行矢量化,而不是使用apply
基本上循环遍历行的方法
解决方案
arr = df1.to_numpy()
arr = arr[1:]
mask = (arr[:, np.newaxis] == arr).prod(axis= 2)
df2 = pd.DataFrame(mask)
推荐阅读
- html - 我可以在电子邮件中创建链接以自动发送包含原始电子邮件中特定信息的电子邮件吗?
- php - 最后一个 elseif 语句在 PHP 中不起作用
- wordpress - 如何将页面的所有子项传递给 wordpress 的“is_page”函数?
- scala - 如何在函数中模拟函数调用?
- macos - 使用自制软件在 macOS 上安装 smlnj 不起作用
- reference - 变量的值模型只能和静态类型一起使用,不能和动态类型一起使用吗?
- c# - 如何将对象内的属性列表转换为对象列表
- r - R在多个data.frames之间循环并为它们赋值
- javascript - 检测 base64 dataURL 图像中的恶意代码或文本
- docker - docker:来自守护进程的错误响应:无法监听抽象的 unix 套接字“/containerd ...权限被拒绝:未知