Python 连接两个分区数相同但列数不同的数据帧(dask)

Python 连接两个分区数相同但列数不同的数据帧(dask),python,pandas,dataframe,dask,Python,Pandas,Dataframe,Dask,我有两个分区数相同的数据帧。我想连接这些数据帧(第一个分区与第一个分区,第二个分区与第二个分区,等等),因此,最终的数据帧具有初始分区数(V),每个分区中的行数相同(n),但列数不同(数据帧1和数据帧2的列数之和(n+m))。第一个数据帧(A)有一个时间戳作为索引,但第二个数据帧(B)没有此列。两个数据帧都已排序,我只需要将这些数据集放在一起,而不需要在每个分区中进行任何更改。此外,A的索引将是新数据帧的索引 A: data-frame (V partitions) - every partit

我有两个分区数相同的数据帧。我想连接这些数据帧(第一个分区与第一个分区,第二个分区与第二个分区,等等),因此,最终的数据帧具有初始分区数(
V
),每个分区中的行数相同(
n
),但列数不同(数据帧1和数据帧2的列数之和
(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仍然是懒惰的,只有当您对其执行某些操作时才会触发该操作)

我想我是在连接行,但您希望连接列,但您明白了