python - 连接具有相同分区数但列数不同的两个数据帧(dask)
问题描述
我有两个分区数相同的数据帧。我想连接这些数据帧(第一个分区与第一个分区,第二个与第二个分区等)因此,最终数据帧具有初始分区数(V
),每个分区中的行数相同( n
) 但列数不同(数据框一和数据框二的列数之和(n+m)
)。第一个数据帧 ( A
) 有一个时间戳作为索引,但第二个数据帧 (B) 没有此列。两个数据框都已排序,我只需要将这些数据集放在一起,而不会对每个分区进行任何更改。此外,索引A
将是新数据帧的索引。
A: data-frame (V partitions) - every partition (nXn)
B: data-frame (V partitions) - every partition (nXm)
C (new data-frame): (V partitions) - every partition (nX(n+m))
解决方案
这并不难:
C = dd.from_delayed([dask.delayed(pd.concat)([a, b])
for a, b in zip(A.to_delayed(), B.to_delayed())],
meta=A._meta)
解释
- 将每个数据帧的分区作为延迟对象
- 将这些对传递给
concat
- 将连接的对形成回数据帧
- 重用元,因为输出具有与输入相同的列和索引
(C当然还是懒惰的,只有对它做点什么才会触发操作)
推荐阅读
- powershell - 当get-itemproperty返回null时调用命令不返回任何值
- python-3.x - Tensorflow 在一个 GPU 上支持多个线程/流进行训练?
- ios - 在 iOS 上延迟渲染打印页面
- python - 如何连接多个随机数字?
- angular - 进口量对整体 Angular 产品包大小的影响
- javascript - Eslint“没有找到与模式“lint”匹配的文件。请检查模式中的输入错误。” 错误
- google-apps-script - 通过脚本的单元格日期
- r - 如何在R中迭代多个数据帧?
- amazon-web-services - AWS Glue Crawler - 读取具有单列的文件
- angular - 使用 angular 8 和 font awesome 的基于文本的动态更改图标