python - 在 Python 中创建一个非常大的缺席/存在 SPARSEE 矩阵
问题描述
有没有什么神奇的方法可以在 python 中创建一个巨大的缺席存在矩阵?由于内存要求,pd.crosstab 和 pd.pivot_table 失败。
我有一个像这样的非常大的数据集:
人 | 事物 |
---|---|
彼得 | 自行车 |
彼得 | 车 |
珍妮 | 自行车 |
珍妮 | 飞机 |
并需要这个:
自行车 | 车 | 飞机 | |
---|---|---|---|
彼得 | 1 | 1 | 0 |
珍妮 | 1 | 0 | 1 |
请注意,矩阵相当稀疏。它包含很多零。
解决方案
数据科学中使用的计算机有时具有高得离谱的 RAM(我想我以前见过 1tb 的计算机......)
如果您没有那么多 RAM,那么我认为解决此问题的唯一方法是利用硬盘驱动器...
我会说,处理数据,将其作为结构化数据写入硬盘驱动器,并在读取时循环,一次说 50mb 以检查名称是否已添加到文件中,并对其进行修改。
推荐阅读
- python - 如何将测试设置为在一个选项卡中一一运行?硒蟒
- ruby - 如何在 Squib 文本中正确嵌入半透明图像
- github - GithHub:限制可以推送到公共存储库的用户
- sql - 在为多个值搜索多个列时减少嵌套循环
- java - 在 Java 中用 Chronicle-Map 替换 Roaring64NavigableMap 的正确方法是什么?
- javascript - 如何修复 .remove() 在 javascript 中不起作用
- python-3.x - 制作项目以接收和输入数据
- html - 如何用 kable/kableextra html 表中的乘法符号替换 A*B 中的 *
- ios - 验证码只检查第一项?
- vbscript - 在 ActiveDirectory 中取消选中 *Require user's permission* 复选框